Oberfläche - Aufgabenplan - Manuelle eingabe - von allem etwas ;-)

  • Hallo ich bin neu hier und noch grober Anfänger,

    ich habe mir das Tutorial einmal durchgelesen, doch die komplexeren Dinge waren dann doch ein wenig zu hoch für mich. Nun wollte ich mir als Anfang erstmal ein Script schreiben, beidem nur Tastendrücke simuliert werden, wobei ein par Spielereien mit dazu kommen sollen.

    Ich möchte z.B. folgendes machen:

    Ich habe eine Oberfläche, mit 3 Feldern:
    Beschreibung - Anzahl - Bestätigung

    Dabei wird immer der gleiche Prozess behandelt, nur die Anzahl soll vor der Bestätigung manuell einzugeben sein. Dieser Wert soll dann in einem Schritt des Prozesses hingeschrieben werden.

    Es sollten möglichst auch mehrere Prozesse laufen können, die alle von einem Menü aus gestartet werden können.

    Wie gehe ich das am besten an? Ich habe schon eine Aufforderung zur Einabe hinbekommen, doch wie ich diesen Wert an anderer Stelle schreibe weiß ich nicht. Außerdem würde ich die Laufenden Prozesse ganz gerne noch anzeigen lassen. Im Idealfall mit Countdown.

    Zur Simulation hätte ich die Frage, wie man 2 Tasten gleichzeitig simulieren kann. Also z.B. "Alt+F4"...

    Ich weiß einige Fragen, doch wenn ich nur die eine oder andere beantwortet bekomme, bin ich schon mehr als zufrieden. ;)

    Liebe Grüße NeoX

  • Inputbox-Rückgabewert verwerten

    [autoit]

    Global $input = InputBox("Whateva", "wah?") ;Rückegabe des Inputes in eine Variable speichern
    _blah() ; Funktion starten

    [/autoit][autoit][/autoit][autoit]

    Func _blah()
    MsgBox(0,"", $input) ;hier wird der Rückgabewert verwendet
    EndFunc

    [/autoit]

    Alt+F4

    [autoit]


    Send("!{F4}") ; ! steht für ALT -> für weiters siehe Hilfe und Send und Send Key List

    [/autoit]


    mehrere Prozesse sind schwierig, da Autoit normalerweise nur eine Funktion ausführen kann; du kannst aber mit Adlibenable eine andere Funktion immer ein einem Intervall laufen lassen

    Menu erstellen und die Buttons abfragen
    lade dir mal den Koda Formdesigner für AutoIt herrunter da wird auch gleich ein Code mitgeneriert

  • Hi leviathan,

    vielen Dank für deine Antworten. Die "Send und Send Key List" konnte ich leider nicht finden.

    Ansonsten aber 1A. Mit den Tuts und dem Forum ein echtes Suchtmittel dieses AutoIt.

    Gruß NeoX

  • hast du die Englische Hilfedatei?
    hier mal im Spoiler:

    Send:

    Spoiler anzeigen


    Function Reference
    Send
    --------------------------------------------------------------------------------

    Sends simulated keystrokes to the active window.


    [autoit]

    Send ( "keys" [, flag] )

    [/autoit]


    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.


    Remarks

    See the 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 keyboard as the Czech one send different characters when using the Shift Key or being in CAPS LOCK enabled and sending a char. Due to the send AutoIt implementation the CAPS LOCKed char will be sent as Shifted one so it will not work.

    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} Up arrow
    {DOWN} Down arrow
    {LEFT} Left arrow
    {RIGHT} Right arrow
    {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)
    {BREAK} for Ctrl+Break processing
    {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 obsolete 437 code page is used).

    To send UNICODE characters enter the character code (decimal or hex), for example this sends a Chinese character
    Send("{ASC 2709}") or Send("{ASC 0xA95}")

    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 wish 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 (https://autoit.de/www.sysinternals.com) or beyondexec (https://autoit.de/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.

    Opt("SendKeyDelay",...) alters the the length of the brief pause in between sent keystrokes.
    Opt("SendKeyDownDelay",...) alters the length of time a key is held down before being released during a keystroke.


    Related

    SendAttachmode (Option), SendKeyDelay (Option), SendKeyDownDelay (Option), ControlSend

    Example

    [autoit]


    Send("#r")
    WinWaitActive("Run")
    Send("notepad.exe{Enter}")
    WinWaitActive("Untitled -")
    Send("Today's time/date is {F5}")

    [/autoit]

    Send Keylist:

    Spoiler anzeigen


    Send Key list

    Quick reference for the Send( "keys" [, flag] ) Command. ^ Ctrl ! Alt + Shift # Win


    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} below).


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

    [autoit]

    Send("{ASC 065}")

    [/autoit]

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


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

    [autoit]

    Send("{ASC 2709}")

    [/autoit]


    Single keys can also be repeated, e.g.

    [autoit]


    Send("{DEL 4}") ;Presses the DEL key 4 times
    Send("{S 30}") ;Sends 30 'S' characters
    Send("+{TAB 4}") ;Presses SHIFT+TAB 4 times

    [/autoit]


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

    [autoit]


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

    [/autoit]


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

    [autoit]


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

    [/autoit]


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

    [autoit]


    $x = Chr(65)
    Send("{" & $x & " 4}")

    [/autoit]


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

    Note, by setting the flag parameter to 1 the "keys" parameter is sent RAW. This is useful when you want to send some text copied from a variable and you want the text sent exactly as written.


    Send is quite useful because windows can be navigated without needing a mouse.

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


    [autoit]


    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.

    [/autoit]


    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!

    [autoit]


    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.

    [/autoit]

    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.


    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} Up arrow
    {DOWN} Down arrow
    {LEFT} Left arrow
    {RIGHT} Right arrow
    {HOME} HOME
    {END} END
    {ESCAPE} or {ESC} ESCAPE
    {INSERT} or {INS} INS
    {PGUP} PGUP
    {PGDN} PGDN
    {F1} - {F12} Function keys
    {TAB} TAB
    {PRINTSCREEN} PRINTSCR
    {LWIN} Left Windows key
    {RWIN} Right Windows key
    {NUMLOCK} NUMLOCK
    {BREAK} for Ctrl+Break processing
    {PAUSE} PAUSE
    {CAPSLOCK} CAPSLOCK
    {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

    war mal wieder einer schneller

    Einmal editiert, zuletzt von leviathan (29. Juni 2007 um 00:44)