Favicon Svetmobilne.cz  Svět mobilně Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie Společnost oXy Online s.r.o.
Zobrazené výsledky: 1 až 3 z 3

Téma: Čtení kláves + Zasílání kláves (VBS ?)

  1. #1
    Nováček
    Registrace
    Feb 2010
    Příspěvků
    31

    Jednoduchý vbs skript, který zašle aplikaci sekvenci kláves:
    Kód:
    WshShell.AppActivate("opWindow")
     WScript.Sleep 100
    WshShell.SendKeys "^w"
     WScript.Sleep 100
    WshShell.SendKeys " "
     WScript.Sleep 100
    ' [zde bude smyčka]
    WshShell.SendKeys "{ENTER}"
     WScript.Sleep 100
    WshShell.SendKeys "+{DOWN}"
     WScript.Sleep 100
    WshShell.SendKeys "{ENTER}"
     WScript.Sleep 100
    Potřeboval bych ho upravit, aby se nemusel opakovaně (mnohokrát) spouštět, ale běžel v cyklu; ten musí v jistém místě obsahovat smyčku, která:
    - přečte stisknutou klávesu a pošle ji (pomocí SendKeys) aplikaci
    - předtím ji testuje na: konec smyčky / konec programu
    VBS dle mého číst klávesy neumí - pokud neumí volat nějaký systém.modul tak zbývá:
    - buď spustit nějaký kód v souboru, který vrátí klávesu v exitcode
    - nebo to celé udělat v jiném jazyce, který zvládá číst i posílat klávesy (a SW byl pro mě dostupný)
    - anebo se mýlím a takto to fungovat nebude (problém vyplývající z toho, že fokus má aplikace Opera, která zachytává klávesy a dál je neposílá)
    ?
    Naposledy upraveno uživatelem petrofff: 25-02-2010 v 15:24
    Odpovídat lze po přihlášení

  2. #2
    Starousedlík SHW Avatar uživatele Dojigiri
    Registrace
    Jun 2008
    Příspěvků
    1,636

    Myslím si, že tak jednoduchý to nebude (v základu pokud se nepletu stisky kláves dostává pouze aplikace, která je v tu chvíli aktivní - resp. aktivní okno dostává zprávy WM_KEY... atd.). Pokud chceš odchytávat všechny stisky kláves (jako např. keylogery) není to úplně triviální, je na to potřeba udělat global hook (příklad zde: http://www.daniweb.com/code/snippet217096.html).

    VBS neumím, tak nevím jestli to v něm půjde, ale možná by se dalo vcelku dobře použít AutoIt (http://www.autoitscript.com/autoit3/index.shtml).
    Odpovídat lze po přihlášení



  3. #3
    Nováček
    Registrace
    Feb 2010
    Příspěvků
    31

    Začínal jsem si myslet, že VBS taky neumím (odesílání kláves nedělá to, co by mělo)
    Nakonec jsem udělal prostý test => 20x odeslání dvojice příkazů:
    Kód:
    WshShell.SendKeys "w"
     WScript.Sleep 100
    Výsledek:
    wwwwwwww (pouze 8w)
    Pokud prodloužím čas Sleep na 200ms, objeví se pouze 4w
    Jako by WSH nenechal doběhnout všechny příkazy, ale po vteřině ukončil proces
    ?
    Odpovídat lze po přihlášení

Podobná témata

  1. Windows XP: Klaves. zkratka - Win+
    Od homi v sekci OS Windows
    Reakcí: 8
    Poslední příspěvek: 08-03-2014, 17:09
  2. Záhada nefunkčních kláves
    Od Solaris1 v sekci Problémy s PC (HW/SW) a řešení
    Reakcí: 2
    Poslední příspěvek: 18-11-2011, 16:03
  3. Přemapování kláves pro 64bit OS , náhrada za hotkeys
    Od wthulmann v sekci Software denní potřeby
    Reakcí: 1
    Poslední příspěvek: 31-01-2011, 21:18
  4. Periferie: Nefunkční řada kláves
    Od Neregistrovaný v sekci Poradna
    Reakcí: 3
    Poslední příspěvek: 16-06-2008, 19:56
  5. Opakovanie kláves vypnuté
    Od ulver v sekci Problémy s PC (HW/SW) a řešení
    Reakcí: 7
    Poslední příspěvek: 05-05-2008, 16:52