praegune kellaaeg 16.06.2025 08:46:28
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Bssldr
HV kasutaja
liitunud: 05.12.2009
|
29.09.2010 10:38:36
[C++]Hotkey teisele töötavale programmile? |
|
|
Oleks vaja teha lahendus, kus minu loodud programm reageerib nupuvajutustele(antud juhul hotkeyd) teises kindlaksmääratud programmis.
Ise mõtlesin kasutada järgmist lahendust:
1. Kasutada RegisterHotKey funktsiooni ja panna WM_HOTKEY vastuvõtjaks enda programmi aken.
2. Kontrollida, kas target programmi aken on aktiivne.
Oskab keegi midagi efektiivsemat välja pakkuda? Mõni otsene lahendus?
|
|
Kommentaarid: 9 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
29.09.2010 10:57:19
|
|
|
Kusagil on mul selline rakendus olemas aga äkki leian ülesse.
Mina lahendasin probleemi niimoodi, et rakenduses saab erinevaid hotkey-si teha ja valida, millises rakenduses need tööle hakkavad (töötavate protsesside abil). Ja ei olegi midagi erilist, kui hotkey'd vajutada, siis kontrollitakse protsessi (target rakendus - siin oli mingi teek abiks), kas see ühtib või mitte (lubab hotkey kasutada või mitte).
Ainuke paha asi on see, et loodud rakendus peab taustal (system tray) koguaeg töötama.
_________________ Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.
viimati muutis Absona 29.09.2010 10:58:58, muudetud 1 kord |
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Mucrop3
Lõuapoolik


liitunud: 28.03.2004
|
29.09.2010 10:58:26
|
|
|
Kui lahendus töötab vaid kindla resoga ekraanil siis võid kasutada hiire noolega klikimist kindlasse x y kordinaati.
Autohotkey scriptiga.
|
|
tagasi üles |
|
 |
ocjel
HV vaatleja
liitunud: 30.09.2010
|
30.09.2010 17:47:21
|
|
|
Põhimõtteliselt öeldakse selle kohta, et soovid "keylogger'it implementeerida".
Kui Sa soovid seda teha windowsi platvormil, siis võid näiteks kasutada Application programming interface'i (API't), usr32.dll'i meetodit getasynckeystate(). Samas, kui sulle ei meeldi "unmanaged code", sest Sa ei tea, mis telgi-taga toimub, võid kasutada Managed Windows API't, mille saad tirida http://mwinapi.sourceforge.net/. Kui Sa kirjutad mõnda programmi endale lõbuks, ning sinu kvaliteedi standardid ei ole kõrged, võid muidugi kasutada ka esimest sobiliku koodi, mida google otsingu termin "keylogger" tagastab.
Autohotkey või AutoIt on mugavad nn. kaudsed viisid sellise functsionaalsuse lisamiseks. Isiklikult mulle meeldib AutoIT rohkem, ning temaga tuleb kaasa ka parem, "inimtegevus skriptiks" salvestaja: Automatic AutoIt v3 Script Recorder. Ning skripti võid kirjutada ka loogika, mis arvestab erinevate ekraani resulutsioonidega.
|
|
tagasi üles |
|
 |
Bssldr
HV kasutaja
liitunud: 05.12.2009
|
01.10.2010 18:24:37
|
|
|
Lahendasin selle nii nagu esialgu ise ette kujutasin.
RegisterHotKey() ning WM_HOTKEY messaged suunasin enda programmile. Kui antud hotkeyd vajutatakse, kontrollin GetWindowInfo()-ga kas target aken on aktiivne. Samas GetAsyncKeyState() tundub parem, pole vaja asja ringiga lahendada.
|
|
Kommentaarid: 9 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|