Jump to content

Search the Community

Showing results for tags 'ControlClick'.

  • 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. Help! The mouse clicks I'm sending to a control on a dialog box produce no response. The dialog box in question handles advanced display properties. The tab page my script interacts with is created by Trident Microsystems. It allows the user to enhance or attenuate the screen's RGB values. (See image.) My script automates the process of changing these in order to adjust the screen's hue or, when the red, green and blue values are all the same, the brightness. Producing a script to change the brightness has been quite straightforward. I use ControlClick() to send a mouse click to one of the trackbars on the right of the tab page. By default, they're linked and so move as one. The difficulty I'm having however is in automating the process when the desired red, green and blue values aren't the same as each other. Ordinarily, there are three ways of doing this: (1) clear the Link check box to unlink the three trackbars then either click on each trackbar or drag their sliders, (2) clear the Link tick-box then for each colour, click on the corresponding trackbar slider (to select it) then click on a point on the graph, and (3) click on the Load button to open an Open dialog box and load a preset (stored as a .gam file). However, when ControlClick() is used to clear the Link check box or to push the Load button, nothing happens. Making the dialog box the active window makes no difference. The AutoIt Window Info tool indicates that the Reload a Bitmap, Save, Load and Reset buttons, the Link check box and the graph are all the same control. (See other images.) In fact, it there are only four controls on the page: the tab page, which is an instance of a SysTabControl32 class, and the three trackbars, each of which is an instance of the TridentTrackBar class. (Am unsure whether the SysTabControl32 class is a Windows or third-party control.) What's the solution? Note that the MouseClick() function—as opposed to ControlClick()—does work, but having AutoIt commandeer the screen pointer isn't an acceptable solution. For the sake of completeness, here's the relevant code fragment for the Link check box. ;unlink trackbars WinActivate("(Multiple Monitors)") ControlClick("(Multiple Monitors)", "", 12320, "left", 1, 211, 252)
  2. #include <Constants.au3> Func Install()    ConsoleWrite("Install EasyLog" & @LF)    Local $handle = WinWaitActive("EasyLog USB Device Driver Installer")    ConsoleWrite("Install EasyLog2 " & $handle & @LF)    Local $blah = ControlClick($handle, "", "[CLASS:Button; INSTANCE:1]", "Left", 1)    ConsoleWrite("Install EasyLog3 " & $blah & @LF)    WinClose($handle) EndFunc Install() ConsoleWrite("End of Install!" & @LF) Trying to get AutoIt to click "Install" on the EasyLogUSB Device Driver Installer window. Console displays: Install EasyLog Install EasyLog2 0x001B041E Install EasyLog3 1 End of Install! Windows Info confirms the Handle is 0x001B041E Window Info for the Control For the life of me I cannot figure out why the script is not working. Even $blah says the ControlClick succeeded. I've tried Send("{ENTER}") and MouseClick() those didn't work either. Any help would be appreciated. Thanks.
  3. I am clicking on a button on to submit o form UI. Problem is, the code working on windows 10,7, server 2012 r2 but not on windows server 2008. I checked the IDs also on that OS, they didn't change. Even the ControlClick is returning the status as success only but button is not getting clicked. But controlsettext on other fields are working. ;$MartConfigWindow is window object ControlClick($MartConfigWindow, "", "[CLASS:WindowsForms10.BUTTON.app.0.378734a; INSTANCE:2]")
  4. #RequireAdmin AutoItSetOption('MouseCoordMode', 0) If WinExists("newtitle") Then ControlClick('newtitle', '', 'Button1') EndIf a Simple script to click Button on GUI with title "newtitle". this script is working fine on my laptop on [windows 10, windows 7] but on a different laptop. script is not clicking this button, is there any alternative to control click then please tell. don't want to use mouseclick Thank you
  5. Hello, and apologies if this have been discussed before, but I googled and couldnt find anything relevant. I have a problem where I try to send a control clink into to a window. Part of window I try to send clicks to looks like this . The black border is showing when I mouse over it Au3Info, I get following information: I am testing its interaction with code The result I get is that it makes control clicks trough first line, opens and closes menus, as expected. When It gets to second line, it does not click a single icon. I can tell that coords are correct as the dropdown menus (No view active) gets focused(altough not rolled out). Same behaviour happens if roughly 40<y<60, so I know I am hitting good height. You can look at how it behaves here: output.webm Dropdown 1 focuses at around 8 sec mark, and 13 sec mark it changes to second dropdown, defocusing first one, seemingly not registering any clinks inbetween. Have you ever encountered similar behaviour? I need to click the Key button, first on second line, with controlclick (or any other way not hijacking the mouse). I cant trigger that button by keyboard and There is no other control having control over it. Help
  6. Afternoon! This is my first post, so I apologize if this is in the wrong place. I've created a while loop to click in a certain area of an application, and have the y axis change at the end of each loop. My loop continues to click at x:27, x:10, even though the $y is adding 15 at the end of each loop. I did a Send($x) and Send($y) into a Notepad to see if the $y had changed after each loop, and the 15 was being added to $y each loop. (If this makes sense) I'm unsure where I'm going wrong, and would be extremely grateful if someone can point me in the correct direction to fix this. Local $rDirectory = "H:\oDemandProject\fList.txt" Local $rLine = _FileCountLines($rDirectory) Local $x = 27 Local $y = 10 While $rline > 0 WinActivate("OnDemand", "-> 1") WinWaitActive("OnDemand", "-> 1") ControlClick("OnDemand", "", "[CLASS:AfxFrameOrView120u; INSTANCE:1]", "left", 4, $x, $y) $y += 15 $rLine -= 1 WEnd
  7. #Include <WinAPI.au3> local $ClassName = _WinAPI_GetClassName(WinGetHandle(WinGetTitle("[ACTIVE]"))) ControlClick(WinGetTitle("[ACTIVE]"), "", "[CLASS:"&$ClassName&"; INSTANCE:1]", "primary") When I am running this script it just gives me a ConsoleWrite output of "0x001D04A8" When using "AutoIT v3 Window Info" all the info I need for the ControlClick is there and displayed perfectly as if I typed it in normally. Upon click the button it should be clicking it, I see the following inn the console window: If I replace the $ClassName with the actual ClassName of "WindowsForms10.BUTTON.app.0.3296db7_r14_ad1" it works just fine, any ideas???
  8. Hi everyone, I have a problem with ControlClick function. It doesn't work no matter how I tried all the possible combination of the parameters. Below is the scripts of possible parameter combination: ;ControlClick("title","text","controlID ","button","clicks","x","y") ;title= Title, Class, Handle ;controlID= Class, ClassNN, Instance ;Title here is empty when I check it with AutoIt Info ControlClick("", "", "[ScreenKeyboard::Button18]", "left", "1", "230","890") ControlClick("", "", "[CLASS:ScreenKeyboard::Button; INSTANCE:18]", "left", "1", "230","890") ControlClick("", "", "[INSTANCE:18]", "left", "1", "230","890") ;Title here is the Class of the window ControlClick("[ScreenKeyboard::SKFrame]", "", "[ScreenKeyboard::Button18]", "left", "1", "230","890") ControlClick("[ScreenKeyboard::SKFrame]", "", "[CLASS:ScreenKeyboard::Button; INSTANCE:18]", "left", "1", "230","890") ControlClick("[ScreenKeyboard::SKFrame]", "", "[INSTANCE:18]", "left", "1", "230","890") ;Title here is the Handle of the window ControlClick("[0x000907A0]", "", "[ScreenKeyboard::Button18]", "left", "1", "230","890") ControlClick("[0x000907A0]", "", "[CLASS:ScreenKeyboard::Button; INSTANCE:18]", "left", "1", "230","890") ControlClick("[0x000907A0]", "", "[INSTANCE:18]", "left", "1", "230","890") Am I coding it correctly? Thanks
  9. I need to automate a specific GUI from a legacy system written in C. The spy tool gives me this I use this code Local $swintit = WinGetTitle("[active]") ConsoleWrite("active Window " & $swintit & @CRLF) If $swintit = "FILES NOTES" Then ; If $swintit = "FILES NOTES" Then ; got Window, now atomate ConsoleWrite("got Window " & @CRLF) ; now focus, then click :) ;EditPaste ;ControlCommand("FILES NOTES", "", 404, $acno) ; paste acno GUICtrlSetState(404, $GUI_Focus) ControlCommand("FILES NOTES", "", 404, $acno) ; paste acno GUICtrlSetState(401, $GUI_Focus) ControlClick("FILES NOTES", "", 401, $acno) ; click okay EndIf ; If $swintit = "FILES NOTES" Then The idea is to paste the acno value into the edit box, then click an Okay button. I get a console write that the active Window is as expected, but my loop completes without ever writing anything into the GUI. I also tried the control ID as text "404" - same result What am I missing? Skysnake
  10. I'm trying to use mouseclick in a panel above. I want to click on a list item, such as 'Estimated'. (I've given up on trying to use control click for this). I'm using window info coordinates from 'Control' tab. ; click 'Columns' WinActivate("Innovaya Studio with Sage (Archtectural 2017_V1.invx") MouseClick("primary", 292, 88, 1, 1) WinActivate("Select Browsing Properties") Sleep(1000) MouseClick("primary", 27, 70, 0,0) Sleep(2000) Send("{TAB}{TAB}{TAB}{TAB}{TAB}") Sleep(1000) Send("{ENTER}") ControlClick( But when I used the code Autoit doesn't click where the coordinates are. In the scipts it is the second MouseClick that won't work. Any ideas?
  11. Hello I got this script works below and I want to do not move cursor on screen when action is performed. Opt("MouseCoordMode", 1) ; cause it gets whole screen coords Local $x, $y Local $search = _ImageSearch('item.bmp', 0, $x, $y, 0) If $search = 1 Then MouseMove($x, $y,0) MouseClick("right", $x, $y)) MouseMove($xMiddle, $yMiddle,0) MouseClick("left", $xMiddle, $yMiddle) EndIf I changed this above to this below and what happen is. It clicks right button and then left button but not move mouse to $x $y and then to $xMiddle $yMiddle. Opt("MouseCoordMode", 1) ; cause it gets whole screen coords Local $x, $y Local $search = _ImageSearch('item.bmp', 0, $x, $y, 0) If $search = 1 Then ControlClick("","",0,"secondary",1,$x,$y) ControlClick("","",0,"primary",1,$xMiddle,$yMiddle) EndIf If needed I got handle in var $hwnd Please tell me how parameters in ControlClick would like be
  12. I used the window info tool to get what I've got below, but it just doesn't click the button. I run the script, nothing happens. WinActivate("SELECTION") Sleep(200) ControlClick("SELECTION", "", "[CLASS:Button;INSTANCE:2]") i think maybe the autoit cannot detect the windows. So what i do: MouseClick( "", 503, 500) local $blanktitle = WinGetTitle("[ACTIVE]") If StringInStr($blanktitle, "SELECTION") Then msgbox("","", "got") WinActivate($blanktitle) ControlClick($blanktitle, "", "[CLASS:Button;INSTANCE:2]") Endif The script can detect the windows as the it is prompt "got" message. But it just doesn't click the button. Please help. Thanks for any help you can offer.
  13. Hello, I am currently trying to automatically click the "Yes" button in the ActiveX prompt/popup message after opening the IE (html). At 1st, I encounter the "Allow Blocked Content". I already resolve it just by changing settings in the IE Options. But after resolving the "Allow Blocked Content", there's a popup message appear. I have attached the ActiveX Prompt. Here is the 1st code that I try to use. #include <IE.au3> #include <MsgBoxConstants.au3> #include <WinAPI.au3> _IECreate("C:\Users\april\Documents\Logo\JRB\AutoIt\AutoBOT\AWD10\sampleAWD10.html",0,1,0) Local $oIE = _IEAttach("", "instance", 1) _IELoadWait($oIE) AdlibRegister("_ActiveXRun",250) Local $oLastName = _IEGetObjByName($oIE, "Text4") Local $oGetItem = _IEGetObjByName($oIE, "getitem") _IEAction($oGetItem, "click") MsgBox($MB_SYSTEMMODAL, "Form Element Value", _IEFormElementGetValue($oGetItem)) Func _ActiveXRun() $retWin = WinGetHandle("[Class:Button]","") $winTitle = "[HANDLE:" & $retWin &"]" $ctrlHandle = ControlGetHandle($winTitle,"", "[CLASS:Button; INSTANCE:2]") $ctrlTitle = "HANDLE:" & $ctrlHandle &"]" WinWaitActive($ctrlTitle,"[CLASS:Button; INSTANCE:2]",10) $k = ControlGetPos($winTitle, "","[CLASS:Button; INSTANCE:2]") $x = $k[0] $y = $k[1] WinActivate ($winTitle,"An ActiveX control on this page might be unsafe to interact with other parts of the page. Do you want to allow this interaction?") ControlFocus($winTitle,"An ActiveX control on this page might be unsafe to interact with other parts of the page. Do you want to allow this interaction?","[CLASS:Button; INSTANCE:2]") ControlClick($winTitle, "","[CLASS:Button; INSTANCE:2]","primary",1,$x,$y) ControlSend($winTitle, "", "[CLASS:Button; INSTANCE:2]", "{ENTER}", 0) EndFunc Here is the console output. >"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\Users\april\Documents\Logo\JRB\AutoIt\AutoBOT\AWD10\AWD10.1.au3" /UserParams +>12:44:11 Starting AutoIt3Wrapper v.17.224.935.0 SciTE v. Keyboard:00000409 OS:WIN_10/ CPU:X64 OS:X64 Environment(Language:0409) CodePage:0 utf8.auto.check:4 +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\april\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\april\AppData\Local\AutoIt v3\SciTE >Running AU3Check ( from:C:\Program Files (x86)\AutoIt3 input:C:\Users\april\Documents\Logo\JRB\AutoIt\AutoBOT\AWD10\AWD10.1.au3 +>12:44:11 AU3Check ended.rc:0 >Running:(\Program Files (x86)\AutoIt3\autoit3.exe "C:\Users\april\Documents\Logo\JRB\AutoIt\AutoBOT\AWD10\AWD10.1.au3" --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop "C:\Users\april\Documents\Logo\JRB\AutoIt\AutoBOT\AWD10\AWD10.1.au3" (31) : ==> Subscript used on non-accessible variable.: $x = $k[0] $x = $k^ ERROR ->12:44:24 AutoIt3.exe ended.rc:1 +>12:44:24 AutoIt3Wrapper Finished. >Exit code: 1 Time: 13.76 I also tried a simpler code. include <IE.au3> #include <MsgBoxConstants.au3> #include <WinAPI.au3> _IECreate("C:\Users\april\Documents\Logo\JRB\AutoIt\AutoBOT\AWD10\sampleAWD10.html",0,1,0) Local $oIE = _IEAttach("", "instance", 1) _IELoadWait($oIE) $k = ControlGetPos("[CLASS:#32770]", "","[CLASS:Button; INSTANCE:2]") $x = $k[0] $y = $k[1] ControlClick("[CLASS:#32770]", "","[CLASS:Button; INSTANCE:2]","primary",1,$x,$y) Local $oLastName = _IEGetObjByName($oIE, "Text4") Local $oGetItem = _IEGetObjByName($oIE, "getitem") _IEAction($oGetItem, "click") MsgBox($MB_SYSTEMMODAL, "Form Element Value", _IEFormElementGetValue($oGetItem)) There's no error in the console output for the 2nd code I have tried. And here is the Window Info for the ActiveX prompt. >>>> Window <<<< Title: Internet Explorer Class: #32770 Position: 580, 338 Size: 376, 146 Style: 0x94C808C4 ExStyle: 0x00010101 Handle: 0x00000000001516FA >>>> Control <<<< Class: Button Instance: 2 ClassnameNN: Button2 Name: Advanced (Class): [CLASS:Button; INSTANCE:2] ID: 1 Text: &Yes Position: 184, 77 Size: 80, 22 ControlClick Coords: 37, 12 Style: 0x50010000 ExStyle: 0x00000004 Handle: 0x00000000001215DE >>>> Mouse <<<< Position: 228, 120 Cursor ID: 0 Color: 0xFFFFFF >>>> StatusBar <<<< >>>> ToolsBar <<<< >>>> Visible Text <<<< &No An ActiveX control on this page might be unsafe to interact with other parts of the page. Do you want to allow this interaction? &Yes >>>> Hidden Text <<<<
  14. I am unable to access an annyoing pop-up window an press the "No" button. So far I have tried a combination (including using coordinates etc.) of the following: ControlClick("[TITLE: Worksite; CLASS: #32770]", "&No", "[CLASS: Button2]") Doesnt seem to be working :C >>>> Window <<<< Title: WorkSite Class: #32770 Position: 786, 471 Size: 356, 162 Style: 0x94C801C5 ExStyle: 0x00010101 Handle: 0x00000000000209E2 >>>> Control <<<< Class: Button Instance: 2 ClassnameNN: Button2 Name: Advanced (Class): [CLASS:Button; INSTANCE:2] ID: 7 Text: &No Position: 158, 96 Size: 88, 26 ControlClick Coords: 40, 11 Style: 0x50010000 ExStyle: 0x00000004 Handle: 0x000000000004075E >>>> Mouse <<<< Position: 987, 604 Cursor ID: 0 Color: 0x3687CE >>>> StatusBar <<<< >>>> ToolsBar <<<< >>>> Visible Text <<<< &Yes &No Cancel Do you want to save the changes you made to 'TEST.xls'? >>>> Hidden Text <<<<
  15. Hello, I'm developing again (everybody ruuun! ) I would like to develope a script that goes through basicly every user control on a window, and log things that happens, and maybe do some screenshots. I did something like this before. My problem, which I would like to avoid this time (to improve my understanding and skill) , was that when I was unable to get a ControlID or handler or anything, I simply did some math and clicked on the coordinates it should have been (for example, maxing the window, and knowing the initial set up I was ablo to calculate given control position). I know that this is a bad solution for a number of reasons. Now I got authorization to install autoIT here, and i started to the work, AU3Info was unable to find anything on the window (this could be a problem, since autoIT doesn't see anything on it then, if I understood the help file) So I got the SimpleSpy script (source: ) I added a bit of code to the original to display ID as well, what I received is this: Mouse position is retrieved 115-207 At least we have an element title: [ADD] class: [Button] ID: [50000] (<-- coded this to display ID here as well) Having the following values for all properties: Title is: <ADD> Class := <Button> controltype:= <UIA_ButtonControlTypeId> ,<50000> , (0000C350) 10;187;120;35 *** Parent Information top down *** 3: Title is: <Compass> Class := <Window> controltype:= <UIA_WindowControlTypeId> ,<50032> , (0000C370) -8;-8;1936;1056 "Title:=Compass;controltype:=UIA_WindowControlTypeId;class:=Window"" 2: Title is: <> Class := <MainView> controltype:= <UIA_CustomControlTypeId> ,<50025> , (0000C369) 0;23;1920;1017 "Title:=;controltype:=UIA_CustomControlTypeId;class:=MainView"" 1: Title is: <> Class := <TileNavigationView> controltype:= <UIA_CustomControlTypeId> ,<50025> , (0000C369) 0;23;1920;967 "Title:=;controltype:=UIA_CustomControlTypeId;class:=TileNavigationView"" 0: Title is: <> Class := <AreasView> controltype:= <UIA_CustomControlTypeId> ,<50025> , (0000C369) 0;132;1920;858 "Title:=;controltype:=UIA_CustomControlTypeId;class:=AreasView"" so far I wrote this script: WinActivate('Test') ;It works!! :D first official interaction Sleep(1000) ;1 sec sleep to be sure ControlClick('Test', '', '50000') If @error Then MsgBox($MB_SYSTEMMODAL, 'Error', 'ControlClick error') EndIf Sleep(1000) MsgBox(1,"Tracer message", 'ControlClick has happened') ;MouseClick() ;ControlCommand() AutoIt activates the window, but the click on the given button doesnt happen (I tried to write 50000 without ' ' on ID). M'I doing the @error part correctly ? (no error Msg has been displayed), sorry I rarely use AutoIT and seems to forget less and less after each neglect, but still I'm far from a proffessional Any help or suggestion is welcome, thank you for your time and insight!
  16. if ControlClick("[CLASS:MsiDialogCloseClass]"," ","[CLASS:SysTreeView32; INSTANCE:1]") Then $htreeview=ControlGetHandle($hwnd,"","[CLASS:SysTreeView32; INSTANCE:1]") ControlTreeView($hwnd," ",$htreeview,"Select","#4") The above code worked well to enable the martupgrade feature on windows 7. As part of our Installation Testing Automation before delivering the installer to end user.To confirm whether all the screens are working good. But it is not working on windows 10. $h= ControlTreeView($hwnd," ",$htreeview,"Select","#4") The $h is getting value 1,which means error.
  17. Hey everyone!! I'm trying to make a program in VB.NET that click inside a picturebox of an app without moving the mouse (using ControlClick). My code is this: 1) ControlClick("Form1", "", "[CLASS:PictureBox; INSTANCE:12]", "left", 1, 5, 5) 2) ControlClick("Form1", "", "[CLASS:PictureBox; INSTANCE:1]", "left", 1, 5, 5) The code is correct but the problem is that 1) works perfectly and 2) doesn't work. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Here I leave you the summary of each picturebox: >>>> Window <<<< Title: Form1 Class: Form Position: 168, 0 Size: 1030, 780 Style: 0x16CA0000 ExStyle: 0x00040100 Handle: 0x00000000000B0092 >>>> Control <<<< PICTUREBOX 12 Class: PictureBox Instance: 12 ClassnameNN: PictureBox12 Name: Advanced (Class): [CLASS:PictureBox; INSTANCE:12] ID: 28 Text: Position: 305, 721 Size: 40, 40 Style: 0x56010000 ExStyle: 0x00000004 Handle: 0x0000000000040520 >>>> Control <<<< PICTUREBOX 1 Class: PictureBox Instance: 1 ClassnameNN: PictureBox1 Name: Advanced (Class): [CLASS:PictureBox; INSTANCE:1] ID: 4 Text: Position: 4, 176 Size: 700, 533 Style: 0x56010000 ExStyle: 0x00000004 Handle: 0x00000000000E02BE Thank you for you help!!!
  18. Hi guys! I'm working in a Android app, and emulating in Nox. I make a little script to send mouse clicks in location settings, to constantly change my GPS position. And it's working with MouseClick. But... My ControlClick does not work! And I need my cursor free! ControlClick("[TITLE:Nox; CLASS:Qt5QWindow]","","", "left",3,1247,384) ;~ <- This is NOT working ;~ MouseClick("left",1247,384,3) ;~ <- This is working Sleep(300) ClipPut($eLat) There is no >>>Control<<< info. There is no ID. Just mouse coords. What I need to do guys?
  19. I'm currently wondering if there is somehow to actually make autoit click inside a minimized program? & sent keystrokes ? 2nd question, how can i make it do a mouse click at e.g. x200,y200 while the are at like x354,y313 (This is purely an example.) would love to be able to do other shizz on my pc while the script is running if possible. If this ISNT possible can u recommend a language / other scripting program which are able to do this ? willing to start over learning a new coding/scripting language. -Dequality.
  20. I have an install that I'm trying to deploy on both 32 bit and 64 bit machines. Trying to move more to 64 bit but still curious about making this work for both at the same time. This is the 32 bit version of the script. I tried to make this same script work for a 64 bit install but realized the button IDs were different. Same install exe though. What's the smart way to detect the buttonIDs based on the OS architecture? I thought possibly having the button ID as a variable with case selects but I wasn't quite sure how to pull it off. #Region #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator #EndRegion #include <FileConstants.au3> #include <MsgBoxConstants.au3> Run("\\servername\cofs\Organization\ITS\_Software & Hardware\AS400\DVD\Windows\cwblaunch.exe") ;WinWaitActive("Security Warning","",5) ;ControlClick("Open File - Security Warning","&Run",4426,"left",1) WinWaitActive("Choose Setup Language","",5) sleep(500) ControlClick("Choose Setup Language","OK",1006,"left",1) Do Sleep(10) Until ControlCommand("IBM i Access for Windows 7.1 - InstallShield Wizard","&Next >","Button1","IsEnabled") sleep(500) ;MsgBox($MB_OK,"Control Command Found","Sent for first wait hang") ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard","&Next >",23467,"left",1) sleep(500) ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard","I &accept the terms in the license agreement",22951,"left",1) sleep(500) ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard","&Next >",23467,"left",1) sleep(500) ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard","&Next >",23467,"left",1) sleep(500) ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard","&Next >",23467,"left",1) sleep(500) ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard","&Next >",23467,"left",1) sleep(500) ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard","&Install",23546,"left",1) ;Wait for finish button to appear Do $Finish = ControlGetHandle("IBM i Access for Windows 7.1 - InstallShield Wizard", "Finish", 23500) Sleep(100) Until $Finish <> "" sleep(500) ControlClick("IBM i Access for Windows 7.1 - InstallShield Wizard", "Finish", 23500,"left",1) ;Start second part of install Run("\\servername2\Apps$\AutoIT\AS400\AS400_2 Patch_1.exe"
  21. 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
  22. I’m trying to click the “assign a playlist” url in this application (see info.png) I don’t know if it is flash or not. The control ID changes on every launch. I can’t use mouseclick because it needs to be scheduled at night on a server. So just ControlClick is left as an option. I can find the handle to the window but not to the control, be it through text or classname, clas or advanced mode. The mouse cursor doesn't even move after these commands. $handle = WinGetHandle("[ACTIVE]") ControlClick($handle, "", "[CLASS:TFlickerFreePaintBox.UnicodeClass; INSTANCE:1]",'left', 1, 54, 138) ControlFocus("Q-MATIC Monitor™ 3", "", "[TFlickerFreePaintBox.UnicodeClass1]") Controlclick("Q-MATIC Monitor™ 3", "",", "primary", 1, 54, 55) ControlClick($handle, "", "", "Left", 1, 54, 55) ControlClick("Q-MATIC Monitor™ 3", "", "[TEXT:Assign to playlist]") ControlFocus ( "Q-MATIC Monitor™ 3", "", "TFlickerFreePaintBox.UnicodeClass") What other parameters are possible for this?
  23. Hello guys, I am quiet new here and most important only beginner in scripting. One part of my work in my job is inserting pretty much the same information into Web Application of my company. So I made simply mousle click script and it kinda worked. Few colleagues saw it and they want this script too, so I decided to improve it and make it more suitable and better for other computers. Mostly i removed mouse click and things that can make some errors for other users. I made it slowly but quiet good, but i have one problem on the end of process. In Web app i have 3 bookmarks (Page 1,2,3 -The green ones). Every bookmark has own yellow fields where i am inserting required data. I find out that i can move through yellow fields just by Tab key, but my problem is I am unable to move/switch without mouse click to other green bookmarks and to get acces to "page2" yellow fields. This web app is running on Mozilla Firefox, so my attempt to get information from Autoit window info failed (I got only information about the page) So i would like to ask you guys, is there any way to do ControlClick just by knowing the name of the bookmark ?(because all my attempts and searching for answers failed) Or any way how to press that green bookmark without using Mouse Click and only knowing the name of Bookmark I would be thankful for any help or advice. Have a nice day and thanks for any help! Here is Example i made how it looks like (I have restriction of putting screens of real app) Ps. not sure if it helps but this web app has searh tool and after typing "page2" it will highlight the bookmark. (Then it is possible copy the name, but nothing like enter ot etc is not working even if the bookmark is highlight.
  24. I've run into something peculiar, which I haven't been able to find more info on with the search. The issue is a dropdownbox-control which I want to click, in a .NET program. The Class changes for everytime it is run. When I do a normal ControlClick, nothing happens and it exits with 0. I tried ControlClick referencing the control with [NAME:] and/or with [TEXT:] but that does not work. However, if right before the ControlClick, I do a ControlGetHandle statement, then the ControlClick will suddenly work after all... The window title stays the same, and there is only 1 control with that text. Example: ControlClick("Navigator","","[TEXT:Raster]") does not work. Returns with 0. ---- ControlGetHandle("Navigator","","[TEXT:Raster]") Returns with 1. ControlClick("Navigator","","[TEXT:Raster]") works and returns with 1. Why is this happening? I'm glad it works, but I get the feeling I'm doing something in a wrong way.
  • Create New...