Jump to content

Search the Community

Showing results for tags 'ControlSend'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Member Title




  1. My current script: ``` $notepadWindow = RunWait('notepad.exe') ControlSend($notepadWindow, "Edit1", "", "abcde") WinSetState($notepadWindow, "", @SW_MINIMIZE) ``` I can't seem to get these three lines to work. Its supposed to run a notepad window, then enter "abcde", followed by minimizing it. Currently it just opens and nothing happens. What am I doing wrong here?
  2. I need to mute an ongoing call on Microsoft teams without activating the window. Teams allows us to mute using shortcut key Ctrl+Shift+m but only when the window is active. # Used set option as ongoing call can be with any person which leads to change in Title Name. AutoItSetOption ( "WinTitleMatchMode", 2 ) # I am not clear with the control ID which will be good to use here and also the key combination of ^M ControlSend ( "Microsoft Teams", "", "[CLASS:Intermediate D3D Window; INSTANCE:1]", "{ctrl down}") Can anyone help...!!!
  3. 1. How do I make a multiple minimized windows at once believe I am holding down a key for like 5 seconds? I know I can send minimized windows a key press with ControlSend. What hat would be the way to simulate a 'humanly' held down key to a few minimized windows? 2. How come: if I compare a handle's hexa value and the actual handler, I get false For example: when the Notepad's handler value is 0x00000000000CFFFF, I always get the message box. if(NOT(0x00000000000C0664 == WinGetHandle("Untitled - Notepad"))) Then MsgBox(0,"swi","0x00000000000CFFFF" & @CRLF & "lmao" & @CRLF & WinGetHandle("Untitled - Notepad")) EndIf Why does that happen? also I can't use hexadecimal value as a handler when I use the ControlSend function.
  4. I must be missing something. I have had this problem multiple times. Why does F6 key not send 6 times? Not working ControlSend("[CLASS:#32770]", "", "", ("{F6 6}")) Working ControlSend("[CLASS:#32770]", "", "", ("{F6}")) ControlSend("[CLASS:#32770]", "", "", ("{F6}")) ControlSend("[CLASS:#32770]", "", "", ("{F6}")) ControlSend("[CLASS:#32770]", "", "", ("{F6}")) ControlSend("[CLASS:#32770]", "", "", ("{F6}")) ControlSend("[CLASS:#32770]", "", "", ("{F6}"))
  5. hi guys i have a script like this, in windows 7 work perfect , in windows 10 not work , some one can explain me why ??' #include <Array.au3> #include <MsgBoxConstants.au3> Global $aGPathFoto= FileReadToArray (@ScriptDir & "\TEMP\PathFoto.txt") Local $ctrl = 0 While 1 Local $hWnd = WinWait("[CLASS:#32770]", "", 10) If WinExists("[CLASS:#32770]") Then If $ctrl < 2 Then ControlSend($hWnd, "Choose File to Upload", "[CLASS:Edit; INSTANCE:1]", $aGPathFoto[0]&"{Enter}") Exit $ctrl += 1 Else ExitLoop EndIf EndIf WEnd $aGpathfoto = C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg
  6. Run("notepad.exe") GLOBAL $One = ('Line1' & _ 'Line2' & _ 'Line3' & _ 'Line4' & _ 'Line5') ClipPut($One) $Notepad = WinWait("[CLASS:Notepad]", "", 10) ControlSend("Untitled - Notepad", "", "", ("^v")) Instead of having this paste as Line1Line2Line3Line4Line5 How can I make it paste it into notepad as (without double spacing.) Line1 Line2 Line3 Line4 Line5
  7. Hello! I created some scripts for a simple farming bot a few years ago and they rely on ControlSend. A year ago I quit that game and then installed Windows 10 (was using windows 7). Recently I installed that game and tried running them again and they seem to work (I have some messages displayed on the screen with the state of the bot ), except for the ControlSend part (which obviously is crucial). I started debugging the scripts so I created a basic script that makes use of Send. I tested this with Notepad in focus and works just fine and then with my game window in focus and it didn't work (it's supposed to write that text in an input box from the game). #include <MsgBoxConstants.au3> Sleep(3000); Send("some text"); MsgBox($MB_OK, "Notification", "Control was sent!"); Is there a way for the creators of the game to create some kind of security system against this? Or something happens because I updated to Windows 10? Is there something I'm missing? Thank you!
  8. Hello everyone, I have a script that is automating a piece of sluggish software. I want to automate it with a bit of caution and I am not sure the best way to do it. ControlSend works great most of the time. If I have it enter 10 into a text box every once in a while it will enter 1 or 11 and then hit enter. To overcome this I use MouseClick to select the text I just entered and then see if it matches the string it was supposed to put in before it hits enter. This seems to work but what I love about ControlSend is there is less room for human interaction messing it up. Yes I could block input but I prefer not to do that (permissions). Is there a better way of doing this? Any Help would be much appreciated. Anyway here is the snippet of the script in question: Func KVSend () WinActivate ( "Window", "" ) Local $WindowPos = WinGetPos("Window", "") If $kV < 30 Then WinActivate ( "Window", "" ) ControlClick ("Window", "", 1001) ;Click in Accel Voltage box Sleep (100) ControlSend ("Window", "", 1001, $kV) ; \ kV Sleep (100) MouseMove($WindowPos[0]+130,$WindowPos[1]+75,1) MouseClick($MOUSE_CLICK_LEFT) MouseClick($MOUSE_CLICK_LEFT) Send ("^c") Local $clip = ClipGet () If $clip = $kV Then ControlSend ("Window", "", 1001, "{ENTER}") ;Hit ENTER if value is correct Sleep (100) ControlClick ("Window", "", 1518) ;Lens Clear Else Send ("{BACKSPACE}") KVSend() ; If value is incorrect try again EndIf EndIf
  9. Do you have a working imagesearch.au3 with working dll? and how can i gethandle and send keyboard/mouse commands to hidden d3d window? i have tried imagesearch2015 but im getting dll error every time and tried older imagesearchs too in forum what i found. i have tried many things to send commands to hidden/background d3dwindow still nothing works. Can you help me please?
  10. Was testing ControlSend("My Window Name", "", "", "^c") vs the normal Send("^c") or _SendEx("^c") to copy selected text from a window... In Windows, I have a setting that when I click the Ctrl key only, my mouse pointer is "highlighted" [that I could of course disable]. If I use Send("^c"), or do this manually, the mouse pointer is never highlighted, as I wish it to be. With ControlSend it *does* highlight... I thought that maybe the Ctrl key goes up a few ms too soon in that one and increased AutoItSetOption("SendKeyDownDelay", 5) to way higher, but it doesn't make a difference. As it doesn't seem possible to do "^ down", could it be prevented in some way? Beside the slight annoyance, it simply alerted me that these seem to work differently [and of course, they are different]. I also get the early impression that ControlSend [to copy] seems in no way quicker to get something on the clipboard, maybe even slower? Thanks
  11. How would I go about writing a IF Then statement if the conrol send fails? Run ("Notepad.exe") WinWaitActive ("Untitled - Notepad") ControlSend("Untitled - Notepad", "", "Edit1", ("Provider Practice Record")) I have been running into lag alot. So my script has been missing input. I would like to be able to have it retry to put in "Provider Practice Record" if it misses. I am assuming a if then statement is what I need but I am not sure what ControlSend will return if it tries to send to Edit1 and it is not there. Or do I need to just add a timeout?
  12. Okay so I am not sure if I can do this or not with the code I currently have but, I would like to send lastname and the first name with a comma inbetween. so it would look like "last name,first name" right now I just have it sending the last name. any help or sugestions are appreciated. $r = 1 Local $aArray = _Excel_RangeRead($oExcel, Default, Default) For $i = 1 To UBound($aArray) - 1 ;$i =0 Start from row A $sR1 = $aArray[$i][0] ;status $sR2 = $aArray[$i][1] ;first name $sR3 = $aArray[$i][2] ;Last name $sR5 = $aArray[$i][5] ;Email Address WinWaitActive ("[CLASS:MGUIWin]") Sleep (100) ControlSend("[CLASS:MGUIWin]", "", "Edit2", $sR3, & @CR) $r = $r + 1 If $r > $sBox Then Exit Endif Next
  13. Hello, I've been trying to automate a process to check in the GUI of a Java program for a certain condition. When I use the Autoit Window information tool I don't get anything under the control tab, which seems to be normal for a Java program. I've been able to automate what I need using ControlSend and checking for the condition using ImageSearch but the Java program will not accept ControlSend unless it is the active window. I'd like to run the script while the window is inactive so I can still use the PC but haven't been able to come up with a solution other than a virtual machine. I even tried sysinternals desktops to create a second virtual desktop but that just causes WinActivate to return a failure after you switch to another virtual desktop. Does anyone have any ideas for getting a window to think its active when its not or an alternative to ControlSend that may work? Thanks.
  14. I am trying to send a CTRL+G to a command prompt. It should send something like ^G this to the prompt but instead it sends only the G. To give more insight into what I am trying to create here: At my work we need a programm to open de cashdrawer using the commandprompt, i created a gui where you can set the COM-port to wich the command should be send. This works the COM-port setting is writting in a .ini file to be used every time the program opens. I have attached the files to the post. Hope someone can help me. open.zip
  15. Greetings! I have been trying to get send to this textarea on a website a message through ControlSend because _IEFormElementSetValue doesnt work on it, so i get the hwnd of the IE window then do the ControlSend to the window, and the message it sends doesnt type some of the letters. The textarea <textarea style="overflow:hidden;height:undefinedpx;" class="form-control input-sm" placeholder="Add a comment" rows="1" data-reactid=".$view."></textarea> How im getting the textarea: $comment_area = _IETagNameGetCollection($oIE,"textarea") for $element in $comment_area if $element.placeholder = "Add a comment" Then _IEAction($element,"focus") Sleep(1500) ;_IEFormElementSetValue($element,$comment_list[$random_index]) ;_IEFormSubmit($element) ControlSend($hIE,"","[CLASS:Internet Explorer_Server; INSTANCE:1]",$comment_list[$random_index],1) ;Send("{ENTER}") Sleep(3000) ;Hacer que sea random EndIf Next When i use _IEFormElementSetValue it changes the text on the box, but it doesn't change the value or something because when i send an Enter key it doesn't submit the message (I Also tried _IEFormSubmit) With ControlSend it does send it but corrupted, for example: Message: Pretty nice Result: ety nice Also i know the element is the actual one im referring because if i use _IEAction($element,"focus") it focuses the one i want. Any help appreciated!
  16. Hey Guys - I am trying to write a very simple script that just types a value into ONE field and presses and next That's it! Here is what I am trying to do: I have a software product that used Installshield to package it - I wrote a response file per installshield directions / for the software and it automated almost everything except one window... sadly the company that makes the software doesn't want to help, installshield won't help since I don't have a license . So I am trying to write and autoit script to fill in the one window that doesn't get recorded in the response file to finish the installation My write activated the window but when I follow it with a send() it doesn't work here is what I have WinActivate("Server Information") Send("xx-xxx-xx") Send("!n") Send("{SPACE}") any ideas ?
  17. I've been searching these past few days for anything that would help me automate in the background, I've made a few things work but for a couple decade old programs I can't get the control IDs, which is resulting in difficulties. I've tried using the _MouseClickPlus method which calls the user32 dll sendmessage with the mouse opcodes, this worked like a charm for a new adobe apollo runtime environment I was checking. In that case, it didn't have any control IDs or anything else, and somehow all it needed to work was the title to obtain the winhandle from. However this doesn't work for many windows apps, not sure why. All of the following problems are under windows 7 1) In paint, if I use WinGetHandle("Untitled - Paint")it returns zeroes, anyone have any idea why? I've gotten around this by using the title "[CLASS:MSPaintApp]", however I'm still interested in this response. 2) Next I was looking to make it click somewhere, this: ControlClick("[CLASS:MSPaintApp]", "", "[CLASS:Afx:00000000FF0C0000:8; INSTANCE:1]", "left", 1, 275, 152)worked, although a better solution for me would be supplying only the title / handle and coords from the window start and not from the control start, and having it click on any control. Is there any way to do this? 3) In Paint, if I click / hold for a second the alt key, I can see the keyboard shortcuts, for example, alt + H would trigger the home tab. to what control do I use ControlSend to so that "!hp" would call "Alt h" and then select the pencil with "p", I couldn't make this work when the main whiteboard is the controlID and neither when the top toolbar is the control ID, like so: ControlSend("[CLASS:MSPaintApp]", "", "[CLASS:NetUIHWND; INSTANCE:1]", "!hp")4) Continuing the previous topic, in one of my older programs, alt + F for example doesn't trigger the File at the top, so I would need to send a ControlClick to it, however it doesn't have any control info, you can look at the SciTE editor, going over the file/edit/search.. with the window info tool, there's nothing about the control. How can I send a ControlClick to the Search button in this case? Simply supplying the window is not enough, and I have a feeling ControlClick never works without specifying a control ID. A solution to my second question would be a solution to the fourth as well :/ Any tips will be greatly appreciated, Thanks! g3trans
  18. I have the following script to put the variable value into the search field of windows explorer Global $file = FileOpen("LastBuild-4_0.txt") ; Check if file opened for reading OK then paste in search field If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Else Global $line = FileReadLine($file, 2) ShellExecute("Explorer.exe", "N:\DailyBuild\ICE") Sleep(3000) ControlSend("ICE", "", "[CLASS:Search Box; INSTANCE:1]", $line) the value of $line is "" (I confirmed it's pulling the right value), but all that gets entered in the search field in windows explorer is the last 3.
  19. i'm trying to control send a javascript to chome developer console ControlSend("Developer Tools","","Chrome_RenderWidgetHostHWND1","hi") why it is not working ?
  20. So I am having this bug, don't know if someone had that before, couldn't find much with google and forum searches. I want to send TAB to a specific window we have at work. Tab changes the value of some specific things on the window. Now the first way I tried is ControlSend($hWND, "", "", "{TAB}"). That would normally work but in my case, it doesn't. I tried elevating scite, even though our program doesn't require admin, but still nothing. ControlSend doesn't return any error. Then the second bad way I tried was WinActivate($hWND) Send("{TAB}"). Now this works once out of ten. I could run the same script 10 times and it will only work once, maybe less. 1/20 times. I don't have any clue from which side this bug is coming from, autoit or my window. Any ideas?
  21. Hello, a simple script that auto fills blank fields. Annoying issue when I don't click the first field in time. Internet explore is already open to the forum I need. Is there a away for it to start auto filling the empty field, and it start where I set the cursor on IE? WinActivate("Internet Explore","") WinWaitActive("Internet Explore","",3) Send("Text in Edit1") Send("{TAB}") Send("Text in Edit2") Send("{TAB}") send("Text in Edit3") Send("{TAB}") Send("{DOWN}") Send("{DOWN}") Send("{TAB}") send("Text in Edit4")
  22. WinActivate("LogMeIn Hamachi") Sleep(1000) ControlSend("LogMeIn Hamachi","","Power","{SPACE}") WinSetState("LogMeIn Hamachi","",@SW_MINIMIZE)I have a client that is using Hamachi to remote access her office PC from home with VNC. There is an issue where the clients in the Hamachi network will randomly stop communicating with the rest of the Hamachi network group. The quick fix is to log into teamviewer and click the power button and let hamachi "power off" and then power it back on. This usually fixes it. I had her pay the $29 annual fee thinking that the problems would go away but they haven't. I made the above script and it does power off the machine and I can run it again to turn it back on but I would like to do it without having to activate the Hamachi window and then power cycling it then minimizing it. Also I would like to get notified if there is a client in the Hamachi window that is on the net but cannot connect. The difference in the GUI is that the client is flagged as red if they cannot connect, green if everything is ready and grey/white if they are offline. Any assistance on this is appreciated. Yes the above code works to power the hamachi network on and if I run it again it will power it off.
  23. Hi, i am creating a hotkey script for my work. Now i am hitting a wall, i have to be able to send a line of text using a combination of keys. The problem i have is not in the combination but in the line of text i am trying to send. What i am trying to send contains the symbol: ! Everytime i use my script it does send my line of text until it needs to send the ! First i tried: ControlSend("", "", "", "svm{$}8{4}{!}", 0) ControlSend("", "", "", "{enter}") Right now i changed the code to read the line of text from a ini file but still the problem. Maybe someone has any ideas?
  24. Hey guys, I want to use Putty/Plink to connect on a remote computer via SSH because I need to execute a couple commands there. So I researched a couple days now and tried like 20 different ways to get this running but I'm still failing. Maybe a little description what my script should do: #Edit: Short version: I need to use StdoutRead to get the DOS command promt output MORE THAN ONCE! The first time is working, but I need to get this the whole time till I say stop ^^ I want to start Putty/Plink and connect via SSH on a remote computer AND I wanna check if there is anything wrong going on or not, because the next step would be the execution of an perl-script on the remote computer which is giving an output text while running. That means I'd like to be able to read out the Putty-Window/Plink-Console the whole time ... I'm actual just getting the text-output after connecting. Maybe a little example of what I'm expecting in some kind of mixed "AutoIt/Pseudo -Code": #include <Constants.au3> Local $iPID = Run('"C:\Program Files (x86)\Putty\putty.exe" -ssh root@HOST:22 -pw PASSWORD', @ScriptDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD) Actual Putty-Window is popping up showing me: Using username "root". Linux COMPUTERNAME 2.6.31-22-generic-pae #63-Ubuntu SMP Wed Aug 18 23:57:18 UTC 2010 i686 To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ System information as of Mo 13. Jan 15:01:50 CET 2014 System load: 0.0 Processes: 77 Usage of /: 47.5% of 9.15GB Users logged in: 1 Memory usage: 9% IP address for eth2: HOST Swap usage: 0% Graph this data and manage this system at https://landscape.canonical.com/ Last login: Mon Jan 13 14:58:43 2014 from XXX.X.X.XXX root@COMPUTERNAME:~# Now I'd like to do ControlSend($hWindow_Putty, '', '', 'perl -w /some/dir/script.pl{ENTER}') If I'd do this on my on with Putty I'd now see something like: Using username "root". Linux COMPUTERNAME 2.6.31-22-generic-pae #63-Ubuntu SMP Wed Aug 18 23:57:18 UTC 2010 i686 To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ System information as of Mo 13. Jan 15:01:50 CET 2014 System load: 0.0 Processes: 77 Usage of /: 47.5% of 9.15GB Users logged in: 1 Memory usage: 9% IP address for eth2: HOST Swap usage: 0% Graph this data and manage this system at https://landscape.canonical.com/ Last login: Mon Jan 13 14:58:43 2014 from XXX.X.X.XXX root@COMPUTERNAME:~# perl -w some/dir/script.pl some text written by the script.pl some text written by the script.pl some text written by the script.pl root@COMPUTERNAME:~# And that's what my problem is. I need to be able to check this output of the script like "some text written by the script.pl" because I may not execute a following statement if this one didn't succeed. In my thoughts the first step should show me what I got in the first code-box above, and the second output should be perl -w some/dir/script.pl some text written by the script.pl some text written by the script.pl some text written by the script.pl root@COMPUTERNAME:~# but I dont get this working ... So I found many threads about Plink. I tried the whole thing with Plink... Local $sData = '' Local $iPID = Run('"C:\Program Files (x86)\Putty\plink.exe" -ssh root@HOST:22 -pw PASSWORD', @ScriptDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD) While True $sData &= StdoutRead($iPID) If @error Then ExitLoop Sleep(25) WEnd ConsoleWrite("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & @CR & _ $sData & @CR & _ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & @CR) I'm getting the following output: Linux COMPUTERNAME 2.6.31-22-generic-pae #63-Ubuntu SMP Wed Aug 18 23:57:18 UTC 2010 i686 To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ System information as of Mo 13. Jan 15:35:53 CET 2014 System load: 0.0 Processes: 77 Usage of /: 47.5% of 9.15GB Users logged in: 1 Memory usage: 9% IP address for eth2: HOST Swap usage: 0% Graph this data and manage this system at https://landscape.canonical.com/ Last login: Mon Jan 13 15:23:36 2014 from MY_IP_ADRESS In comparison to the Putty window-output I'm missing here the root@COMPUTERNAME:~# line ... anyway, I don't get this Plink thing doing more then just connecting ... no more executions I'm getting done ... I also tried something like: #RequireAdmin #include <Constants.au3> Local $sData = '' Local $iPID = ShellExecute(@ComSpec, '"C:\Program Files (x86)\Putty\plink.exe" -ssh root@HOST:22 -pw PASSWORD', @ScriptDir, '', @SW_SHOW) Local $hWindow = WinWait('Administrator: C:\Windows\system32\cmd.exe', '', 5) ConsoleWrite("WinWait: " & $hWindow & @CR) If $hWindow = 0 Then Exit ConsoleWrite("WinActivate: " & WinActivate('Administrator: C:\Windows\system32\cmd.exe') & @CR) ConsoleWrite("WinActive: " & WinActive('Administrator: C:\Windows\system32\cmd.exe') & @CR) Sleep(1000) ConsoleWrite(ControlSend('Administrator: C:\Windows\system32\cmd.exe', '', '', '"C:\Program Files (x86)\Putty\plink.exe" -ssh root@HOST:22 -pw PASSWORD{ENTER}') & @CR) ;StdinWrite($iPID, '"C:\Program Files (x86)\Putty\plink.exe" -ssh root@HOST:22 -pw PASSWORD' & @CRLF) ;StdinWrite($iPID) While True $sData &= StdoutRead($iPID) If @error Then ExitLoop Sleep(25) WEnd ConsoleWrite("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & @CR & _ $sData & @CR & _ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" & @CR) but unfortunately I dont get anything out of it ... Maybe a last more example ... I found this on Stackoverflow (http://stackoverflow.com/questions/19206834/command-prompt-and-autoit-stdinwrite) Thats my code after reading that article: #include <Constants.au3> Local $data Local $pid = Run("C:\Windows\system32\cmd.exe",@SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD) StdinWrite($pid,"cd C:\users\username") StdinWrite($pid,@CRLF) ;~ StdinWrite($pid) Sleep(2000) $data &= StdoutRead($pid) ConsoleWrite("Debug:" & $data & @LF) $data = '' StdinWrite($pid,"cd C:\Program Files (x86)") StdinWrite($pid,@CRLF) StdinWrite($pid) $data &= StdoutRead($pid) ConsoleWrite("Debug:" & $data & @LF) but the second output still empty... Can you guys please help me out? Thanks in advice. Regards.
  25. Hey im looking to rebind my wasd keys to arrow keys in order to play a game using my phone and chrom remote access. I tried using controlsend to send a arrow keys when i push wasd. Problem lies in that it sends both w (for example) and the up arrow key aswell as asd etc. Any ideas how to get around this?
  • Create New...