Einen Tastendruck simulieren, mit beispiel und userlib :) von / t / / |
Dieser Code simulirt einen tastendruck, das ist genauso als wenn man auf der tastatur diese tast drükt. Ich habe ein function gemacht die einen scancode in den virtual key ode umwandlt der dafür nötig ist. Es gibt aber noch andere spezielle tasten die die bb scancodes nicht unterstützen, z.B. linker,mittlerer,rechter mausbutton, wenn andere tastn gdrückt werden sollen muss man die constanten verwenden. Mir fehlen bei so ziemlich allen multimedia tasten die virtual scan codes, ich hab zwars ein prog das mir die virtual scan codes anzeigt wenn ich eine taste drück, aber ich hab nur eine standard windows tastatur ohne multimedia knöpfe. also, wenn jemand ultimedia tasten hat dann möge er och bitte mal mit [url=http://www.pics-software.de/download/zeichen.zip]diesem prog[/url] testen ob es bei den multimdia tasten einen virtual scancode zurück gibt wenn man eine multimedia tate drückt. Wäre sehr dankbar dafür. Hab ich doch glatt vergessen 8) Hier ist die userlib: Und danke da nochma an freax und all die anderen die mir geholfen un versucht haben bei dem problem zu helfen!!! [quote:96979baa57] .lib "User32.dll" SendKey(bVk,bScan,dwFlags,dwExtraInfo) : keybd_event [/quote:96979baa57] code mit bsp: [code:1:96979baa57] Const VK_LBUTTON = $1 ;Linker Mausbutton Const VK_RBUTTON = $2 ;Rechter Mausbutton Const VK_MBUTTON = $4 ;Mittlerer Mausbutton Const VK_BACK = $8 ;Backspace Taste Const VK_TAB = $9 ;Tab Taste Const VK_CLEAR = $C ;Numpad 5 ohne Numlock Const VK_RETURN = $D ;Enter Taste Const VK_SHIFT = $10 ;Shift Taste Const VK_CONTROL = $11 ;STRG Taste Const VK_MENU = $12 ;Alt Taste Const VK_PAUSE = $13 ;Pause/Untbr Const VK_CAPITAL = $14 ;Caps Lock/Feststelltaste Const VK_ESCAPE = $1B ;Escape Const VK_SPACE = $20 ;Space/Leertaste Const VK_PRIOR = $21 ;PageUp/Bild hoch Const VK_NEXT = $22 ;PageDown/Bild runter Const VK_END = $23 ;Ende Const VK_HOME = $24 ;Home/Pos1 Const VK_LEFT = $25 ;Linke Pfeiltaste Const VK_UP = $26 ;Obere Pfeilaste Const VK_RIGHT = $27 ;Rechte Pfeiltaste Const VK_DOWN = $28 ;Untee Pfeiltaste Const VK_PRINT = $2A ;Drucken (Nokia Tastaturen) Const VK_SNAPSHOT = $2C ;Drucken/S-Abf Const VK_INSERT = $2D ;Einfügen Const VK_DELETE = $2E ;Entfernen Const VK_HELP = $2F ;Hilfe Const VK_0 = $30 ;Taste 0 Const VK_1 = $31 ;Taste 1 Const VK_2 = $32 ;Taste 2 Const VK_3 = $33 ;Taste 3 Const VK_4 = $34 ;Taste 4 Const VK_5 = $35 ;Taste 5 Const VK_6 = $36 ;Taste 6 Const VK_7 = $37 ;Taste 7 Const VK_8 = $38 ;Taste 8 Const VK_9 = $39 ;Taste 9 Const VK_A = $41 ;Taste A Const VK_B = $42 ;Taste B Const VK_C = $43 ;Taste C Const VK_D = $44 ;Taste D Const VK_E = $45 ;Taste E Const VK_F = $46 ;Taste F Const VK_G = $47 ;Taste G Const VK_H = $48 ;Taste H Const VK_I = $49 ;Taste I Const VK_J = $4A ;Taste J Const VK_K = $4B ;Taste K Const VK_L = $4C ;Taste L Const VK_M = $4D ;Taste M Const VK_N = $4E ;Taste N Const VK_O = $4F ;Taste O Const VK_P = $50 ;Taste P Const VK_Q = $51 ;Taste Q Const VK_R = $52 ;Taste R Const VK_S = $53 ;Taste S Const VK_T = $54 ;Taste T Const VK_U = $55 ;Taste U Const VK_V = $56 ;Taste V Const VK_W = $57 ;Taste W Const VK_X = $58 ;Taste X Const VK_Y = $59 ;Taste Y Const VK_Z = $5A ;Taste Z Const VK_STARTKEY = $5B ;Startmenütaste Const VK_CONTEXTKEY = $5D ;Kentextmenü Const VK_NUMPAD0 = $60 ;Numpad Taste 0 Const VK_NUMPAD1 = $61 ;Numpad Taste 1 Const VK_NUMPAD2 = $62 ;Numpad Taste 2 Const VK_NUMPAD3 = $63 ;Numpad Taste 3 Const VK_NUMPAD4 = $64 ;Numpad Taste 4 Const VK_NUMPAD5 = $65 ;Numpad Taste 5 Const VK_NUMPAD6 = $66 ;Numpad Taste 6 Const VK_NUMPAD7 = $67 ;Numpad Taste 7 Const VK_NUMPAD8 = $68 ;Numpad Taste 8 Const VK_NUMPAD9 = $69 ;Numpad Taste 9 Const VK_MULTIPLY = $6A ;Numpad Multiplikations Taste (*) Const VK_ADD = $6B ;Numpad Additions Taste (+) Const VK_SUBTRACT = $6D ;Numpad Subtrations Taste (-) Const VK_DECIMAL = $6E ;Numpad Komma Taste (,) Const VK_DIVIDE = $6F ;Numpad Devidierungs Taste (/) Const VK_F1 = $70 ;F1 Taste Const VK_F2 = $71 ;F2 Taste Const VK_F3 = $72 ;F3 Taste Const VK_F4 = $73 ;F4 Taste Const VK_F5 = $74 ;F5 Taste Const VK_F6 = $75 ;F6 Taste Const VK_F7 = $76 ;F7 Taste Const VK_F8 = $77 ;F8 Taste Const VK_F9 = $78 ;F9 Taste Const VK_F10 = $79 ;F10 Taste Const VK_F11 = $7A ;F11 Taste Const VK_F12 = $7B ;F12 Taste Const VK_F13 = $7C ;F13 Taste Const VK_F14 = $7D ;F14 Taste Const VK_F15 = $7E ;F15 Taste Const VK_F16 = $7F ;F16 Taste Const VK_F17 = $80 ;F17 Taste Const VK_F18 = $81 ;F18 Taste Const VK_F19 = $82 ;F19 Taste Const VK_F20 = $83 ;F20 Taste Const VK_F21 = $84 ;F21 Taste Const VK_F22 = $85 ;F22 Taste Const VK_F23 = $86 ;F23 Taste Const VK_F24 = $87 ;F24 Taste Const VK_NUMLOCK = $90 ;Numlock Taste Const VK_OEM_SCROLL = $91 ;Scroll Lock Const VK_LSHIFT = $A0 ;Linke Shift-Taste Const VK_RSHIFT = $A1 ;Rechte Shift-Taste Const VK_LCONTROL = $A2 ;Linke STRG-Taste Const VK_RCONTROL = $A3 ;Rechte STRG-Taste Const VK_LMENU = $A4 ;Linke ALT-Taste Const VK_RMENU = $A5 ;Rechte ALT-Taste Const VK_OEM_1 = $BA ;";"-Taste Const VK_OEM_PLUS = $BB ;" Const VK_OEM_COMMA = $BC ;","-Taste Const VK_OEM_MINUS = $BD ;"-"-Taste Const VK_OEM_PERIOD = $BE ;"."-taste Const VK_OEM_2 = $BF ;"/"-Taste Const VK_OEM_3 = $C0 ;"`"-Taste Const VK_OEM_4 = $DB ;"["-Taste Const VK_OEM_5 = $DC ;""-Taste Const VK_OEM_6 = $DD ;"]"-Taste Const VK_OEM_7 = $DE ;" Const VK_ICO_F17 = $E0 ;F17 einer Olivette Tastatur (Intern) Const VK_ICO_F18 = $E1 ;F18 einer Olivette Tastatur (Intern) Const VK_OEM102 = $E2 ;"<"-Taste oder "|"-Taste einer IBM-Kompatiblen 102 Tastatur (Nicht US) Const VK_ICO_HELP = $E3 ;Hilfetaste einer Olivetti Tastatur (Intern) Const VK_ICO_00 = $E4 ;00-Taste einer Olivetti Tastatur (Intern) Const VK_ICO_CLEAR = $E6 ;Löschen Taste einer Olivetti Tastatur (Intern) Const VK_OEM_RESET = $E9 ;Reset Taste (Nokia) Const VK_OEM_JUMP = $EA ;Springen Taste (Nokia) Const VK_OEM_PA1 = $EB ;PA1 Taste (Nokia) Const VK_OEM_PA2 = $EC ;PA2 Taste (Nokia) Const VK_OEM_PA3 = $ED ;PA3 Taste (Nokia) Const VK_OEM_WSCTRL = $EE ;WSCTRL Taste (Nokia) Const VK_OEM_CUSEL = $EF ;WSCTRL Taste (Nokia) Const VK_OEM_ATTN = $F0 ;ATTN Taste (Nokia) Const VK_OEM_FINNISH = $F1 ;Fertig Taste (Nokia) Const VK_OEM_COPY = $F2 ;Kopieren Taste (Nokia) Const VK_OEM_AUTO = $F3 ;Auto Taste (Nokia) Const VK_OEM_ENLW = $F4 ;ENLW Taste (Nokia) Const VK_OEM_BACKTAB = $F5 ;BackTab Taste (Nokia) Const VK_ATTN = $F6 ;ATTN-Taste Const VK_CRSEL = $F7 ;CRSEL-Taste Const VK_EXSEL = $F8 ;EXSEL-Taste Const VK_EREOF = $F9 ;EREOF-Taste Const VK_PLAY = $FA ;PLAY-Taste Const VK_ZOOM = $FB ;ZOOM-Taste Const VK_NONAME = $FC ;NONAME-Taste Const VK_PA1 = $FD ;PA1-Taste Const VK_OEM_CLEAR = $FE ;OEM_CLEAR-Taste Const VK_AE = 222 Const VK_OE = 192 Const VK_UE = 186 Dim keys(237) keys(1) = VK_ESCAPE keys(2) = VK_1 keys(3) = VK_2 keys(4) = VK_3 keys(5) = VK_4 keys(6) = VK_5 keys(7) = VK_6 keys(8) = VK_7 keys(9) = VK_8 keys(10) = VK_9 keys(11) = VK_0 keys(12) = VK_OEM_4 keys(13) = VK_OEM_6 keys(14) = VK_Back keys(15) = VK_Tab keys(16) = VK_Q keys(17) = VK_W keys(18) = VK_E keys(19) = VK_R keys(20) = VK_T keys(21) = VK_Z keys(22) = VK_U keys(23) = VK_I keys(24) = VK_O keys(25) = VK_P keys(26) = VK_UE keys(27) = VK_OEM_PLUS keys(28) = VK_Return keys(29) = VK_Control keys(30) = VK_A keys(31) = VK_S keys(32) = VK_D keys(33) = VK_F keys(34) = VK_G keys(35) = VK_H keys(36) = VK_J keys(37) = VK_K keys(38) = VK_L keys(39) = VK_OE keys(40) = VK_AE keys(41) = VK_OEM_5 keys(42) = VK_Shift keys(43) = VK_OEM_2 keys(44) = VK_Y keys(45) = VK_X keys(46) = VK_C keys(47) = VK_V keys(48) = VK_B keys(49) = VK_N keys(50) = VK_M keys(51) = VK_OEM_Comma keys(52) = VK_OEM_period keys(53) = VK_OEM_minus keys(54) = VK_Shift keys(55) = VK_multiply keys(56) = VK_Menu keys(57) = VK_Space keys(58) = VK_capital keys(59) = VK_f1 keys(60) = VK_f2 keys(61) = VK_f3 keys(62) = VK_f4 keys(63) = VK_f5 keys(64) = VK_f6 keys(65) = VK_f7 keys(66) = VK_f8 keys(67) = VK_f9 keys(68) = VK_f10 keys(69) = VK_numlock keys(70) = VK_oem_scroll keys(71) = VK_NUMPAD7 keys(72) = VK_NUMPAD8 keys(73) = VK_NUMPAD9 keys(74) = VK_subtract keys(75) = VK_NUMPAD4 keys(76) = VK_NUMPAD5 keys(77) = VK_NUMPAD6 keys(78) = VK_add keys(79) = VK_NUMPAD1 keys(80) = VK_NUMPAD2 keys(81) = VK_NUMPAD3 keys(82) = VK_NUMPAD0 keys(83) = VK_decimal keys(86) = VK_oem102 keys(87) = VK_f11 keys(88) = VK_f12 keys(153) = 0 keys(156) = VK_return keys(157) = VK_control keys(160) = 0 keys(161) = 0 keys(162) = VK_play keys(164) = 0 keys(174) = 0 keys(176) = 0 keys(178) = 0 keys(181) = VK_divide keys(183) = VK_Snapshot keys(184) = VK_menu keys(197) = VK_pause keys(199) = VK_home keys(200) = VK_up keys(201) = VK_prior keys(203) = VK_left keys(205) = VK_right keys(207) = VK_end keys(208) = VK_down keys(209) = VK_next keys(210) = VK_insert keys(211) = VK_delete keys(219) = VK_startkey keys(220) = VK_startkey keys(221) = VK_startkey keys(222) = 0 keys(223) = 0 keys(227) = 0 keys(229) = 0 keys(230) = 0 keys(231) = 0 keys(232) = 0 keys(233) = 0 keys(234) = 0 keys(235) = 0 keys(236) = 0 keys(237) = 0 Function scan_to_vkc(scancode) Return keys(scancode) End Function ;Function die den gerade gedrückten scancode herausfindet Function GetKey2() FlushKeys For a=1 To 237 If KeyDown(a) Then Exit Next If a = 238 Then Return False Else Return a End Function ;BEISPIEL ;Ambesten den irgendeinen textEditor öffnen und prog starten... Graphics 640,100,32,2 SetBuffer BackBuffer() Repeat Cls Text 0,0,"Drücke eine taste..." Text 0,20,"Diese Taste wird dann nochmals wiedergegeben las wenn an sie drückt." gk = Getkey2() Flip Until gk<>0 milli = MilliSecs() While Not MilliSecs()-milli => 60000 Cls Text 0,0,"Du hast die taste mit dm scnacode nr. "+gk+" gedrückt." Text 0,20,"In genau 60 sek. wird diese taste von diesem programm wieder gedrückt." Text 0,40,"Noch "+(60-(MilliSecs()-milli)/1000)+" sek. bis zum tastendruck" Text 0,60,"In dieser Zeit kann man z.B. ein programm öffnen in dem die taste" Text 0,80,"simuliert werden soll." Flip Wend vkc = scan_to_vkc(gk) SendKey vkc,0,0,0 ;Taste drücken SendKey vkc,0,2,0 ;Taste wieder loslassen FlushKeys While Not GetKey2() Cls Text 0,0,"die taste wurde gedrückt." Text 0,20,"drück eine beliebige taste um das programm zu beenden" Flip Wend End [/code:1:96979baa57] |
von ??? |
ehm...Sendkey? :shock: Fehlt da nicht eine .decl oder so? |
von ??? |
ups, soory ist mir auch grad aufgefallen, beitrag editiert :) |
von ??? |
bin ich zu doff oder find ich as nich?? |
von ??? |
ähm, slayer was denn? die userlib steht doch oben als "zitat" :) [quote:138e7f24cc] .lib "User32.dll" SendKey(bVk,bScan,dwFlags,dwExtraInfo) : keybd_event [/quote:138e7f24cc] |
von ??? |
ach oopz ich hatte die userlib aus dem thrad in allgemein, da stand statt sendkey dieses keybd_event :oops: |