Ich hab leider keine Ahnung, von wem dieses Script ist, vielleicht klann jemand fachkundiges das sagen, ich jedenfalls benutze es gern:
Einfach bei den Scripten über "Main" mit Rechtsklick und "insert" ein leeres Script einfügen und das Script reinkopieren.
Die Frage ist - willst du eine Eventabfrage oder eine Scriptabfrage damit realisieren?
Ich demonstriere es mal kurz am Beispiel der Taste "alt". Die Codes für alle Tasten findest du im Script selbst. Denk immer an die Anführungsstriche, sonst klappt es nicht. Und wenn du herausfinden willst, ob eine Taste dauerhaft gedrückt wird, ersetze "press" durch "an"
Per Script machst du es folgendermaßen:
Eventtechnisch müsste es so funktionieren: Conditional Branch, 4. Reiter, "Script", und dann
reinschreiben.
Hoffe das hat dir weitergeholfen.
lg Alexis
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
class W32API
def initialize()
#$api.press?(->Tastenname<-)
#$api.an?(->Tastenname<-)
@key_push = Win32API.new('user32', "GetAsyncKeyState", 'i', 'i')
$key_press = Win32API.new('user32', "keybd_event", 'iiii', '')
@tasten = Hash.new(
#--------------------------Maus
"l mouse" => 0x01, #Linke Maustaste
"r mouse" => 0x02, #Rechte Maustaste
"m mouse" => 0x04, #Mittlere Maustaste
#--------------------------Special
"back" => 0x08, #Backspace
"tab" => 0x09, #Tabulator-Taste
"enter" => 0x0D, #Enter
"shift" => 0x10, #Eine der Shift-Tasten
"strg" => 0x11, #Alt Gr-Taste oder eine der Strg-Tasten
"alt" => 0x12, #Eine alt oder die Num-Block-Taste5 mit num lock
"umschalt" => 0x14, #Umschalttaste
"esc" => 0x1B, #Escape
"space" => 0x20, #Leertaste
#--------------------------Extra-Block
"bild oben" => 0x21,
"bild unten" => 0x22,
"ende" => 0x23,
"pos1" => 0x24,
#--------------------------Pfeil
"left" => 0x25,
"links" => 0x25, #-
"up" => 0x26,
"hoch" => 0x26, #-
"oben" => 0x26, #-
"right" => 0x27,
"rechts" => 0x27, #-
"down" => 0x28,
"unten" => 0x28, #-
#--------------------------Extra-Block
"snapshot" => 0x2C,
"einfg" => 0x2D,
"entf" => 0x2E,
#--------------------------Zahlen
"0" => 0x30,
"1" => 0x31,
"2" => 0x32,
"3" => 0x33,
"4" => 0x34,
"5" => 0x35,
"6" => 0x36,
"7" => 0x37,
"8" => 0x38,
"9" => 0x39,
#--------------------------Alphabet
"a" => 0x41,
"b" => 0x42,
"c" => 0x43,
"d" => 0x44,
"e" => 0x45,
"f" => 0x46,
"g" => 0x47,
"h" => 0x48,
"i" => 0x49,
"j" => 0x4A,
"k" => 0x4B,
"l" => 0x4C,
"m" => 0x4D,
"n" => 0x4E,
"o" => 0x4F,
"p" => 0x50,
"q" => 0x51,
"r" => 0x52,
"s" => 0x53,
"t" => 0x54,
"u" => 0x55,
"v" => 0x56,
"w" => 0x57,
"x" => 0x58,
"y" => 0x59,
"z" => 0x5A,
#--------------------------Special
"l windows" => 0x5B, #linke "Windows-Taste"
"r windows" => 0x5C, #rechte "Windows-Taste"
#--------------------------Num-Block
"num 0" => 0x60,
"num 1" => 0x61,
"num 2" => 0x62,
"num 3" => 0x63,
"num 4" => 0x64,
"num 5" => 0x65,
"num 6" => 0x66,
"num 7" => 0x67,
"num 8" => 0x68,
"num 9" => 0x69,
"num *" => 0x6A,
"num +" => 0x6B,
"num -" => 0x6D,
"num ," => 0x6E,
"num /" => 0x6F,
#--------------------------F-Zeichen
"F1" => 0x70,
"F2" => 0x71,
"F3" => 0x72,
"F4" => 0x73,
"F5" => 0x74,
"F6" => 0x75,
"F7" => 0x76,
"F8" => 0x77,
"F9" => 0x78,
"F10" => 0x79,
"F11" => 0x7A,
"F12" => 0x7B,
#--------------------------Num-Block
"num lock" => 0x90,
#--------------------------Extra-Block
"scroll" => 0x91,
#--------------------------Special
"l shift" => 0xA0,
"r shift" => 0xA1,
"l strg" => 0xA2,
"r strg" => 0xA3,
"l alt" => 0xA4,
"alt gr" => 0xA5,
#--------------------------Sonderzeichen
"ü" => 0xBA,
"+" => 0xBB,
"," => 0xBC,
"-" => 0xBD,
"." => 0xBE,
"#" => 0xBF,
"ö" => 0xC0,
#--------------------------Special
"menü" => 0xD5,
#--------------------------Sonderzeichen
"ß" => 0xDB,
"^" => 0xDC,
"´" => 0xDD,
"ä" => 0xDE,
"<" => 0xE2
)
@tasten = @tasten[1]
end
def an?(taste)
if(@tasten[taste])
iff = @key_push.call(@tasten[taste])
if(iff < 0)
ret=true
else
ret=false
end
return(ret)
else
return(false)
end
end
def press?(taste)
if(@tasten[taste])
iff = @key_push.call(@tasten[taste])
if(iff != 0 and iff != 1)
ret=true
else
ret=false
end
return(ret)
else
return(false)
end
end
def keydown(taste)
if(@tasten[taste])
$key_press.call(@tasten[taste], 0, 0x0, 0)
end
end
def keyup(taste)
if(@tasten[taste])
$key_press.call(@tasten[taste], 0, 0x2, 0)
end
end
end
$api = W32API.new |
zum Lesen den Text mit der Maus markieren
Einfach bei den Scripten über "Main" mit Rechtsklick und "insert" ein leeres Script einfügen und das Script reinkopieren.
Die Frage ist - willst du eine Eventabfrage oder eine Scriptabfrage damit realisieren?
Ich demonstriere es mal kurz am Beispiel der Taste "alt". Die Codes für alle Tasten findest du im Script selbst. Denk immer an die Anführungsstriche, sonst klappt es nicht. Und wenn du herausfinden willst, ob eine Taste dauerhaft gedrückt wird, ersetze "press" durch "an"
Per Script machst du es folgendermaßen:
|
|
Quellcode |
1 2 3 |
if $api.press?("alt")
mache was auch immer
end |
Eventtechnisch müsste es so funktionieren: Conditional Branch, 4. Reiter, "Script", und dann
|
|
Quellcode |
1 |
if $api.press?("alt") |
reinschreiben.
Hoffe das hat dir weitergeholfen.
lg Alexis
