au3scr Posted November 10, 2007 Share Posted November 10, 2007 how i make script that waits until key pressed something like this send("some text") ;wait until f2 key pressed send("other text") any ideas Link to comment Share on other sites More sharing options...
peter123 Posted November 10, 2007 Share Posted November 10, 2007 (edited) hotkeyset --- HotKeySet ( "key" [, "function"] ) so you do Hotkeyset("{F2}", a2) func a2 msgbox(0, "WOW", "WOW OMG YOU PRESSED F2") endunf Edited November 10, 2007 by peter123 Link to comment Share on other sites More sharing options...
peter123 Posted November 10, 2007 Share Posted November 10, 2007 EDIT BUT You can't use that because that reserved by windows The following hotkeys cannot be set: Ctrl+Alt+Delete It is reserved by Windows F12 It is also reserved by Windows, according to its API. NumPad's Enter Key Instead, use {Enter} which captures both Enter keys on the keyboard. Win+B,D,E,F,L,M,R,U; and Win+Shift+M These are built-in Windows shortcuts. Note: Win+B and Win+L might only be reserved on Windows XP and above. Alt, Ctrl, Shift, Win These are the modifier keys themselves! Other Any global hotkeys a user has defined using third-party software, any combos of two or more "base keys" such as '{F1}{F2}', and any keys of the form '{LALT}' or '{ALTDOWN}'. Link to comment Share on other sites More sharing options...
Blue_Drache Posted November 10, 2007 Share Posted November 10, 2007 (edited) Not exactly good practice to use base function keys, but *shrug* this works just fine. HotKeySet("{F2}", "_Continue") Dim $binFlag = False Run("notepad.exe") WinWait("Untitled -") WinActivate("Untitled -") Send("Press F2 to continue" & @LF) Do Sleep(100) Until $binFlag = True Send("You pressed F2.") Func _Continue() $binFlag = Not $binFlag EndFunc Edited November 10, 2007 by Blue_Drache Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache Link to comment Share on other sites More sharing options...
au3scr Posted November 10, 2007 Author Share Posted November 10, 2007 Cant do that way beacause i have something like this: Func read_func () $line = _GUICtrlEdit_GetLineCount ($CommandInput) - 1 $Input = _GUICtrlEdit_GetLine ($CommandInput, $line) $command = StringTrimLeft ($Input, 6) $commands= StringInStr ($command, "commands") send("some text") If $commands Then HotKeySet ("{enter}") ;wait until f2 key pressed send("other text") HotKeySet ("{enter}") Send (@CRLF & "shell:") $line = $line + 30 HotKeySet ("{enter}", "read_func") ;else ;IF .. ;.... ;... ;else ;IF .. ;.... ;... ;endif endif endfunc Any ideas now? with out hotkey.. func Link to comment Share on other sites More sharing options...
Blue_Drache Posted November 10, 2007 Share Posted November 10, 2007 Rethink your shell/terminal. Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache Link to comment Share on other sites More sharing options...
Generator Posted November 10, 2007 Share Posted November 10, 2007 Isn't this way easier..and i think it works.... #include<misc.au3> Send("some text") Do Sleep(1) Until _IsPressed("71");71 for F2 Send("some other text") Link to comment Share on other sites More sharing options...
au3scr Posted November 10, 2007 Author Share Posted November 10, 2007 tnx but how u got 71? Where i can get list of keys? Xxobster 1 Link to comment Share on other sites More sharing options...
Generator Posted November 10, 2007 Share Posted November 10, 2007 It is in the _IsPressed() func in help file. Link to comment Share on other sites More sharing options...
au3scr Posted November 10, 2007 Author Share Posted November 10, 2007 I cant find it here .Wrong place? and script here does nothing Function Reference _IsPressed -------------------------------------------------------------------------------- Check if key has been pressed #Include <Misc.au3> _IsPressed($sHexKey[, $vDLL = 'user32.dll']) Parameters $sHexKey Key to check for $vDLL Handle to dll or default to user32.dll Return Value True: 1 False: 0 Remarks If calling this function repeatidly, should open 'user32.dll' and pass in handle. +Make sure to close at end of script Related Example#include <Misc.au3> $dll = DllOpen("user32.dll") While 1 Sleep ( 250 ) If _IsPressed("23", $dll) Then MsgBox(0,"_IsPressed", "End Key Pressed") ExitLoop EndIf WEnd DllClose($dll) Link to comment Share on other sites More sharing options...
JustinReno Posted November 10, 2007 Share Posted November 10, 2007 Its in the Help File, it looks like you cut off some of it.Remarks 01 Left mouse button 02 Right mouse button 04 Middle mouse button (three-button mouse) 05 Windows 2000/XP: X1 mouse button 06 Windows 2000/XP: X2 mouse button 08 BACKSPACE key 09 TAB key 0C CLEAR key 0D ENTER key 10 SHIFT key 11 CTRL key 12 ALT key 13 PAUSE key 14 CAPS LOCK key 1B ESC key 20 SPACEBAR 21 PAGE UP key 22 PAGE DOWN key 23 END key 24 HOME key 25 LEFT ARROW key 26 UP ARROW key 27 RIGHT ARROW key 28 DOWN ARROW key 29 SELECT key 2A PRINT key 2B EXECUTE key 2C PRINT SCREEN key 2D INS key 2E DEL key 30 0 key 31 1 key 32 2 key 33 3 key 34 4 key 35 5 key 36 6 key 37 7 key 38 8 key 39 9 key 41 A key 42 B key 43 C key 44 D key 45 E key 46 F key 47 G key 48 H key 49 I key 4A J key 4B K key 4C L key 4D M key 4E N key 4F O key 50 P key 51 Q key 52 R key 53 S key 54 T key 55 U key 56 V key 57 W key 58 X key 59 Y key 5A Z key 5B Left Windows key 5C Right Windows key 60 Numeric keypad 0 key 61 Numeric keypad 1 key 62 Numeric keypad 2 key 63 Numeric keypad 3 key 64 Numeric keypad 4 key 65 Numeric keypad 5 key 66 Numeric keypad 6 key 67 Numeric keypad 7 key 68 Numeric keypad 8 key 69 Numeric keypad 9 key 6A Multiply key 6B Add key 6C Separator key 6D Subtract key 6E Decimal key 6F Divide key 70 F1 key 71 F2 key 72 F3 key 73 F4 key 74 F5 key 75 F6 key 76 F7 key 77 F8 key 78 F9 key 79 F10 key 7A F11 key 7B F12 key 7C-7F F13 key - F16 key 80H-87H F17 key - F24 key 90 NUM LOCK key 91 SCROLL LOCK key A0 Left SHIFT key A1 Right SHIFT key A2 Left CONTROL key A3 Right CONTROL key A4 Left MENU key A5 Right MENU key Link to comment Share on other sites More sharing options...
au3scr Posted November 10, 2007 Author Share Posted November 10, 2007 thanks alot.. is it possible to do same thing with 2 keys? like f2 for exit with out saveing and f3 for save and exit so i need 2 keys.. i planned to do something like nano (very simple text editor) Link to comment Share on other sites More sharing options...
Generator Posted November 10, 2007 Share Posted November 10, 2007 #include<misc.au3> Do Sleep(1) Until _IsPressed("71") or _IsPressed("72") If _IsPressed("71") Then Else If _IsPressed("72") Then EndIf While _IsPressed("71") or _IsPressed("72") Sleep(1) WEnd Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now