Toon posts:

Toetsaanslagen onderscheppen en aanpassen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben op zoek naar een proggie voor Windows XP dan een toetsaanslag kan onderscheppen en dan aangepast naar de applicatie stuurt.

Specifiek ben ik op zoek naar een tooltje dat dus in de achtergrond draait en die instaat is om de . (de punt toets) van het nummerieke eilandje omzet in een , (komma).
De . van het normale toetsenbordgedeelte (bij de spatiebalk etc.) moet echter wel intact blijven.
Een situatie waarbij glashard *alle* punten worden omgezet naar komma's is dus zeker niet de bedoeling.

Microsoft Excel kan dit zelf maar ik heb nu te maken met een financiele applicatie die er zelf niet mee overweg kan dus zal ik iets moeten gaan uithalen met een background proggie dat dit afhandelt.
Het zal dus iets van een low-level keyboard/scancode interceptor moeten zijn die een ander character aan het OS kan doorspelen waardoor alle applicaties er niets van merken. Die denken gewoon dat de , is ingetoetst.

Het laden van een aangepaste keyboard-layout waarin de . op het nummerieke eilandje permanent wordt geconverteerd naar een , is niet gewenst.
Het proggie moet als het even kan on-the-fly te loaden en unloaden zijn.

In mijn zoektocht heb ik massa's keyboard interceptors etc. etc. gevonden maar niet iets dat dit zo kan.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Even eens schopje naar Software Algemeen - daar is dit topic net iets meer op z'n plek :)

Windows Operating Systems >> Software Algemeen

  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 21-08 18:55

ThunderNet

Flits!

Je kunt overwegen het zelf te maken.
Zodat het zelfs ook alleen in die applicatie werkt
Doormiddel van WIndowHooks. Je kunt hier de berichten van windows aan de applicatie "ontvangen"
lezen, en dan gewijzigd door sturen aan de applicatie zelf.

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


Verwijderd

Topicstarter
ThunderNet schreef op vrijdag 27 mei 2005 @ 12:21:
Je kunt overwegen het zelf te maken.
Dat vraag ik toch niet :X.
Als ik dat kon was het al lang klaar en kwam ik hier ook niet om hulp vragen :/

  • itsme
  • Registratie: Februari 2000
  • Niet online
Ik denk dat microsoft keyboard layout designer (of hoe t ook heet) dit wel kan.

http://www.soft-ware.net/...pro=p03627&file=MSKLC.exe

"If God wanted us to have unlimited free energy He would have put a giant fusion reactor in the sky"


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
Verwijderd schreef op zondag 29 mei 2005 @ 00:46:
[...]

Dat vraag ik toch niet :X.
Als ik dat kon was het al lang klaar en kwam ik hier ook niet om hulp vragen :/
de beste man (?) probeert je te helpen. misschien kan je iets dankbaarder reageren, ook al is het niet wat je zoekt, hij heeft wel de moeite genomen om er over na te denken.

This message was sent on 100% recyclable electrons.


  • Kurkentrekker
  • Registratie: Januari 2003
  • Niet online
Ik denk dat je hier een plugin voor je applicatie voor moet gebruiken, daar het (voor zover ik weet), voor applicaties in Windows niet mogelijk is om IO aan te passen voor het hele systeem. Op die manier zou het voor malware ook wel heel makkelijk worden om macro's te maken van F1-F12, dat ze even met een simpele "Run, iexplore, enter, F4, (url van site) enter" een site opent, als je zomaar op een toets drukt waarvan jij denkt dat hij iets anders doet.

[ Voor 3% gewijzigd door Kurkentrekker op 29-05-2005 01:01 . Reden: Had nog even de twee posts boven mij niet gelezen. Wellicht dat ik er helemaal naast zit en het gewoon mogelijk is. Was een beetje aan het doemdenken. ]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
Kurkentrekker schreef op zondag 29 mei 2005 @ 01:00:
Ik denk dat je hier een plugin voor je applicatie voor moet gebruiken, daar het (voor zover ik weet), voor applicaties in Windows niet mogelijk is om IO aan te passen voor het hele systeem. Op die manier zou het voor malware ook wel heel makkelijk worden om macro's te maken van F1-F12, dat ze even met een simpele "Run, iexplore, enter, F4, (url van site) enter" een site opent, als je zomaar op een toets drukt waarvan jij denkt dat hij iets anders doet.
het is zeer zeker wel mogelijk voor applicaties om netjes gebruik makend van de win32 api keystrokes te ontvangen, af te pakken, en te verzenden.

als je dit goed doet, kan je dus keystrokes vervangen

This message was sent on 100% recyclable electrons.


  • Kurkentrekker
  • Registratie: Januari 2003
  • Niet online
Ok, mijn fout. Ben nog nooit bezig geweest met dit soort dingen, ik baseerde wat ik vertelde dan ook op wat ik geleerd heb door af en toe ergens op te letten, maar blijkbaar neit goed genoeg. Weet ik ook weer wat meer.

  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 21-08 18:55

ThunderNet

Flits!

Kurkentrekker schreef op zondag 29 mei 2005 @ 01:10:
Ok, mijn fout. Ben nog nooit bezig geweest met dit soort dingen, ik baseerde wat ik vertelde dan ook op wat ik geleerd heb door af en toe ergens op te letten, maar blijkbaar neit goed genoeg. Weet ik ook weer wat meer.
tis niet jouw fout ;) het is gewoon een iets minder bekende werking van windows.
Windows is zogenaamd eventbased.
als jij op je linkermuisknop drukt, onstaat er een event.
Als jij je muis klikt boven het window van bijvoorbeeld paint, krijgt paint van windows een bericht. "linker muisknop, op die X, Y positie"
echter, kun je dus als extern programma, je 'inschrijven' om die berichten van paint te ontvangen.
dus dan lees je die berichten eerder dan paint.. en kun je naar de hand van bijvoorbeeld een bericht met rechtermuisknop, een bericht met linkermuisknop aan paint doorsturen.
dit zelfde kan met toetsen, en nog veel meer :)

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 17:58

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Ctrl2cap van sysinternals kan een soortgelijk iets. Ctrl2cap verandert de caps-lock toets naar de ctrl.
Ctrl2cap is a kernel-mode device driver that filters the system's keyboard class driver in order to convert caps-lock characters into control characters.
.....
It simply attaches itself to the keyboard class driver so that it will catch keyboard read requests. For each request, it posts an I/O completion callback, at which point it takes a peek at the scancode that is being returned. If it happens to be a caps-lock, ctrl2cap changes it into a left-control.
De source code is gratis te downloaden... Wellicht is het eenvoudig aan te passen.

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B

Pagina: 1