Sign in to follow this  
Followers 0
sirrussell

Send help again

5 posts in this topic

Hello again folks, I came across another question. I want to press 2 key stroke at same time and hold it down for one second. After I set the Opt("SendKeyDownDelay", 1000) to have it perform a holding key effect it also give a similar length of pause after each key is pressed. and also I tried to use Send("a") and then followed by Send("b") without a pause but the program reads a line at a time so it wont do it. How do I have the program that can input 2 key strokes at a time? Thanks again.

Share this post


Link to post
Share on other sites



umm have u looked at

send("{A DOWN} {B DOWN}")
sleep(1000)
send("{A UP} {B UP}")

--hope this helps

~cdkid


AutoIt Console written in C#. Write au3 code right at the console :D_FileWriteToLineWrite to a specific line in a file.My UDF Libraries: MySQL UDF Library version 1.6 MySQL Database UDF's for AutoItI have stopped updating the MySQL thread above, all future updates will be on my SVN. The svn location is:kan2.sytes.net/publicsvn/mysqlnote: This will still be available, but due to my new job, and school hours, am no longer developing this udf.My business: www.hirethebrain.com Hire The Brain HireTheBrain.com Computer Consulting, Design, Assembly and RepairOh no! I've commited Scriptocide!

Share this post


Link to post
Share on other sites

umm have u looked at

send("{A DOWN} {B DOWN}")
sleep(1000)
send("{A UP} {B UP}")

--hope this helps

~cdkid

THanks a lot cdkid, where did you find the documentation at? all reference I have is the Help file came with the instalation and its pasted below: and I didnt see the format that you are using. thanks !

Function Reference

Send

--------------------------------------------------------------------------------

Sends simulated keystrokes to the active window.

Send ( "keys" [, flag] )

Parameters

keys The sequence of keys to send.

flag [optional] Changes how "keys" is processed:

flag = 0 (default), Text contains special characters like + and ! to indicate SHIFT and ALT key presses.

flag = 1, keys are sent raw.

Return Value

None.

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Not sure if you have the regular helpfile or beta, but I know that in mine (which is beta) there is a very large section called "remarks" that says quite a bit about the usage of the Send command. I'm not sure how well this will go over with the rest of the forum members... but here it is anyway:

Remarks

See the a href="."/appendix/SendKeys.htm">Appendix for some tips on using Send. AutoIt can send all ASCII and Extended ASCII characters (0-255), to send UNICODE characters you must use the "ASC" option and the code of the character you wish to send (see {ASC} at the bottom of the table below).

The "Send" command syntax is similar to that of ScriptIt and the Visual Basic "SendKeys" command. Characters are sent as written with the exception of the following characters:

'!'

This tells AutoIt to send an ALT keystroke, therefore Send("This is text!a") would send the keys "This is text" and then press "ALT+a".

N.B. Some programs are very choosy about capital letters and ALT keys, i.e. "!A" is different to "!a". The first says ALT+SHIFT+A, the second is ALT+a. If in doubt, use lowercase!

'+'

This tells AutoIt to send a SHIFT keystroke, therefore Send("Hell+o") would send the text "HellO". Send("!+a") would send "ALT+SHIFT+a".

'^'

This tells AutoIt to send a CONTROL keystroke, therefore Send("^!a") would send "CTRL+ALT+a".

N.B. Some programs are very choosy about capital letters and CTRL keys, i.e. "^A" is different to "^a". The first says CTRL+SHIFT+A, the second is CTRL+a. If in doubt, use lowercase!

'#'

The hash now sends a Windows keystroke; therefore, Send("#r") would send Win+r which launches the Run dialog box.

You can set SendCapslockMode to make CAPS LOCK disabled at the start of a Send operation and restored upon completion.

However, if a user is holding down the Shift key when a Send function begins, text may be sent in uppercase.

One workaround is to Send("{SHIFTDOWN}{SHIFTUP}") before the other Send operations.

Certain special keys can be sent and should be enclosed in braces:

N.B. Windows does not allow the simulation of the "CTRL-ALT-DEL" combination!

Send Command (if zero flag) Resulting Keypress

{!} !

{#} #

{+} +

{^} ^

{{} {

{}} }

{SPACE} SPACE

{ENTER} ENTER key on the main keyboard

{ALT} ALT

{BACKSPACE} or {BS} BACKSPACE

{DELETE} or {DEL} DELETE

{UP} Cursor up

{DOWN} Cursor down

{LEFT} Cursor left

{RIGHT} Cursor right

{HOME} HOME

{END} END

{ESCAPE} or {ESC} ESCAPE

{INSERT} or {INS} INS

{PGUP} PageUp

{PGDN} PageDown

{F1} - {F12} Function keys

{TAB} TAB

{PRINTSCREEN} Print Screen key

{LWIN} Left Windows key

{RWIN} Right Windows key

{NUMLOCK on} NUMLOCK (on/off/toggle)

{CAPSLOCK off} CAPSLOCK (on/off/toggle)

{SCROLLLOCK toggle} SCROLLLOCK (on/off/toggle)

{CTRLBREAK} Ctrl+Break

{PAUSE} PAUSE

{NUMPAD0} - {NUMPAD9} Numpad digits

{NUMPADMULT} Numpad Multiply

{NUMPADADD} Numpad Add

{NUMPADSUB} Numpad Subtract

{NUMPADDIV} Numpad Divide

{NUMPADDOT} Numpad period

{NUMPADENTER} Enter key on the numpad

{APPSKEY} Windows App key

{LALT} Left ALT key

{RALT} Right ALT key

{LCTRL} Left CTRL key

{RCTRL} Right CTRL key

{LSHIFT} Left Shift key

{RSHIFT} Right Shift key

{SLEEP} Computer SLEEP key

{ALTDOWN} Holds the ALT key down until {ALTUP} is sent

{SHIFTDOWN} Holds the SHIFT key down until {SHIFTUP} is sent

{CTRLDOWN} Holds the CTRL key down until {CTRLUP} is sent

{LWINDOWN} Holds the left Windows key down until {LWINUP} is sent

{RWINDOWN} Holds the right Windows key down until {RWINUP} is sent

{ASC nnnn} Send the ALT+nnnn key combination

{BROWSER_BACK} 2000/XP Only: Select the browser "back" button

{BROWSER_FORWARD} 2000/XP Only: Select the browser "forward" button

{BROWSER_REFRESH} 2000/XP Only: Select the browser "refresh" button

{BROWSER_STOP} 2000/XP Only: Select the browser "stop" button

{BROWSER_SEARCH} 2000/XP Only: Select the browser "search" button

{BROWSER_FAVORITES} 2000/XP Only: Select the browser "favorites" button

{BROWSER_HOME} 2000/XP Only: Launch the browser and go to the home page

{VOLUME_MUTE} 2000/XP Only: Mute the volume

{VOLUME_DOWN} 2000/XP Only: Reduce the volume

{VOLUME_UP} 2000/XP Only: Increase the volume

{MEDIA_NEXT} 2000/XP Only: Select next track in media player

{MEDIA_PREV} 2000/XP Only: Select previous track in media player

{MEDIA_STOP} 2000/XP Only: Stop media player

{MEDIA_PLAY_PAUSE} 2000/XP Only: Play/pause media player

{LAUNCH_MAIL} 2000/XP Only: Launch the email application

{LAUNCH_MEDIA} 2000/XP Only: Launch media player

{LAUNCH_APP1} 2000/XP Only: Launch user app1

{LAUNCH_APP2} 2000/XP Only: Launch user app2

To send the ASCII value A (same as pressing ALT+065 on the numeric keypad)

Send("{ASC 065}")

(When using 2 digit ASCII codes you must use a leading 0, otherwise an obselete 437 code page is used).

To send UNICODE characters enter the character code, for example this sends a Chinese character

Send("{ASC 2709}")

Single keys can also be repeated, e.g.

Send("{DEL 4}") ;Presses the DEL key 4 times

Send("{S 30}") ;Sends 30 'S' characters

Send("+{TAB 4}") ;Presses SHIFT+TAB 4 times

The key will be send at least once even if the count is zero.

To hold a key down (generally only useful for games)

Send("{a down}") ;Holds the A key down

Send("{a up}") ;Releases the A key

To set the state of the capslock, numlock and scrolllock keys

Send("{NumLock on}") ;Turns the NumLock key on

Send("{CapsLock off}") ;Turns the CapsLock key off

Send("{ScrollLock toggle}") ;Toggles the state of ScrollLock

If you with to use a variable for the count, try

$n = 4

Send("+{TAB " & $n & "}")

If you wish to send the ASCII value A four times, then try

$x = Chr(65)

Send("{" & $x & " 4}")

Most laptop computer keyboards have a special Fn key. This key cannot be simulated.

Note, by setting the flag parameter to 1 the above "special" processing will be disabled. This is useful when you want to send some text copied from a variable and you want the text sent exactly as written.

For example, open Folder Options (in the control panel) and try the following:

Send("{TAB}") Navigate to next control (button, checkbox, etc)

Send("+{TAB}") Navigate to previous control.

Send("^{TAB}") Navigate to next WindowTab (on a Tabbed dialog window)

Send("^+{TAB}") Navigate to previous WindowTab.

Send("{SPACE}") Can be used to toggle a checkbox or click a button.

Send("{+}") Usually checks a checkbox (if it's a "real" checkbox.)

Send("{-}") Usually unchecks a checkbox.

Send("{NumPadMult}") Recursively expands folders in a SysTreeView32.

Use Alt-key combos to access menu items. Also, open Notepad and try the following:

Send("!f") Send Alt+f, the access key for Notepad's file menu. Try other letters!

Send("{DOWN}") Move down a menu.

Send("{UP}") Move up a menu.

Send("{LEFT}") Move leftward to new menu or expand a submenu.

Send("{RIGHT}") Move rightward to new menu or collapse a submenu.

See Windows' Help--press Win+F1--for a complete list of keyboard shortcuts if you don't know the importance of Alt+F4, PrintScreen, Ctrl+C, and so on.

When running a script on a remote computer through a program as psexec (www.sysinternals.com) or beyondexec (www.beyondlogic.org) it is necessary, specially when sending strokes to a program launch by the script with a Run function, to use ControlSend or other ControlXXX functions to directly communicate with the control. Send even with Opt("SendAttachMode",1) is not working.

Using the -s mode when submitting can help to have better right on the remote computer.

Edited by greenmachine

Share this post


Link to post
Share on other sites

Not sure if you have the regular helpfile or beta, but I know that in mine (which is beta) there is a very large section called "remarks" that says quite a bit about the usage of the Send command. I'm not sure how well this will go over with the rest of the forum members... but here it is anyway:

Thanks greenmachine for the reply, I also read it

Single keys can also be repeated, e.g.

Send("{DEL 4}") ;Presses the DEL key 4 times

Send("{S 30}") ;Sends 30 'S' characters

Send("+{TAB 4}") ;Presses SHIFT+TAB 4 times

The key will be send at least once even if the count is zero.

To hold a key down (generally only useful for games)

Send("{a down}") ;Holds the A key down

Send("{a up}") ;Releases the A key

However I did not know you can do Send("{a down} {b down}") or even Send("{a down} {b down} {c down}") I was just at a wrong place to check the formats I guess.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0