Search the Community

Showing results for tags 'automation'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements and Site News
    • Chat
    • 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

Categories

  • 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

Categories

  • Forum
  • AutoIt

Calendars

  • Community Calendar

Found 30 results

  1. This is pretty useful to me at least, I hope to others. Whenever you need to poke a button or such on a GUI, you can just make calls to this UDF and instruct it how long to wait, 0 is forever, anyway, let the code to the explaining. Feel free to help expand this UDF. I plan to create new ones as I go along that support all the Win32 and .NET Controls. Ultimately, I would like to be able to fully control any type of control, this works well with most. Just an example of what you can do. The test installs and can uninstall 7-Zip 15.14 (x64) Setup.exe NOTE: Logger Author(s) .....: Michael Mims (zorphnog) ; the logging script can be obtained here ; https://www.autoitscript.com/forum/topic/156196-log4a-a-logging-udf/ install_7zip_test.au3 WaitForControls.au3
  2. Good morning everyone I worked a bit on a little project of mine, and I managed to do what I was trying to do, or, automate a quiz in AutoIt. Now, everything works fine but, in order to achieve what I'm trying to achive, I'd like to make this script run faster. I'll attach a portion of the code in order to let you understand what my script does. $objIE_h1 = _IETagNameGetCollection($objIE, "h1") ; Take the text of the answer If @error Then ConsoleWrite("Errore durante la lettura degli h1 nella pagina. - Errore: " & @error & @CRLF) Else For $objElement In $objIE_h1 $strInnerText = $objElement.innerText Next Select Case StringInStr($strInnerText, "QUESTION") ; Here is the question ; PS4 PRO $objSpans = _IETagNameGetCollection($objIE, "span") ; Answers are stored here For $objElement In $objSpans If $i >= 4 Then $strAnswer = $objElement.innerText ; Take the text of the answer n° 0, 1, 2, 3 If StringInStr($strAnswer, "CORRECT ANSWER") Then ; If I match the correct answer, then, I have to click on the input with answer id = answer_i $j = $i - 4 $objInput = _IEGetObjById($objIE, "answer_" & $j) If @error Then ConsoleWrite("Errore durante la lettura della risposta #" & $i & " - Errore: " & @error & @CRLF) Else _IEAction($objInput, "click") If @error Then ConsoleWrite("Errore durante il click sull'elemento. - Errore: " & @error) Else ConsoleWrite($j & ") Risposta: " & $strAnswer & @CRLF) ExitLoop EndIf EndIf EndIf $i+=1 Else $i+=1 EndIf Next $i = 0 $j = 0 This is what my script does. Questions are 20, in which I have 15 multiple choice question, 2 images ( on which I use _IEImgClick() ), and 3 text inputs ( a simple send with the text I have to enter ). How can I make all of these, faster? If I reach this goal, I've probably done one of my best goals in life, and I'd like to share my happiness with you, giving a huge donation to this fantastic community! Thanks for your help
  3. Is it possible for AutoIt to execute LALT+LSHIFT+NUMLOCK? I've attempted the following: ;To show the desktop Send("{RWIN down}") Send("{d}") Send("{RWIN up}") WinWait(2) ;just to make sure the desktop is activated. ControlClick("", "",1[,button="left"[, clicks=2 [, x [, y]]]] ) Send("{LALT down}") Send("{CLT down}") Send("{DELETE down}") ;Send("{LSHIFT down}") ;Send("{NUMLOCK}") ;Send("{NUMLOCK}") ;Send ("{LALT up}") ;Send("{LSHIFT up}") This should bring up the MouseKeys dialog...but I'm getting nothing. Thanks for any help!
  4. Hello, I'm in the process of recreation-ally expanding my Auto-it experience for some future awesome presentation-Al capabilities. So I have a user interface which loads a text document onto a GUI-object. The variables of this function are 1) The text document is dynamic in font size and face; giving the viewer an unpredictable horizontal/vertical scroll dimension. 2) The main objective is to animate the vertical scroll-bar so that it moves like the end of a movie with accreditation. 3) I'm trying to limit the accessibility in observation by excluding any mouse functions within the animation process. Any help would be greatly appreciated! Been trying to work on this for days now - from getting element properties, to embedding external code, and even exploiting ("$oIE.navigate") to loading several awkwardly formatted text documents in sequential order just to imitate a slightly offensive animation scheme. Anyways... Suggestions and comments welcomed please!! Script is from [Function GUICreate] - Doc: GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN)) GUICtrlCreateObj($oIE, 10, 40, 600, 360) $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30) $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30) $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30) $idButton_Stop = GUICtrlCreateButton("Stop", 330, 420, 100, 30) GUISetState(@SW_SHOW) ;Show GUI After this.. This is the window that pop's-up:
  5. Good Morning, I hope someone can help, below is a stripped down version of my current .au3 file and there is a few bits I just cant for the life of me get to work; 1. I would like the 'Allow Edit' checkbox once checked to allow the user to edit the contents of the 'AD Group Name' input box 2. I would like the 'Other / Internal Use' radio button if checked to show the '$OtherInternalGroup' group of radio buttons My current code..... #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIShellEx.au3> #include <FileConstants.au3> #include <WinAPIFiles.au3> #include <WinAPI.au3> ; used for Lo/Hi word ; Declare Global variables for WM_COMMAND and '_GetAppName()' function. Global $__iComboWrite = 9999, $__iInputValue = 9999, $__iInputWrite = 9999 #Region ### START GUI section ### $Form1_1 = GUICreate("Packaging Wrapper", 435, 545, -1, -1) GUISetIcon("C.ico", -1) GUISetBkColor(0xFFFFFF) Global $ApplicationNameInput = GUICtrlCreateInput("", 24, 168, 385, 21) GUICtrlSetTip(-1, "EG: Corel_WinZip_21.0_0.1") $ADGroupNameInput = GUICtrlCreateInput("", 24, 224, 385, 21) $AllowEditChk = GUICtrlCreateCheckbox("Allow Edit", 344, 200, 65, 17, BitOR($GUI_SS_DEFAULT_CHECKBOX,$BS_RIGHT)) GUICtrlSetBkColor(-1, 0xE3E3E3) $ApplicationTypeGroup = GUICtrlCreateGroup("", 24, 272, 185, 113) $CatalogueAppChk = GUICtrlCreateRadio("Catalogue Application", 32, 288, 137, 17) GUICtrlSetBkColor(-1, 0xE3E3E3) $NonCatalogueAppChk = GUICtrlCreateRadio("Non-Catalogue Application", 32, 320, 161, 17) GUICtrlSetBkColor(-1, 0xE3E3E3) $OtherAppChk = GUICtrlCreateRadio("Other / Internal Use", 32, 352, 137, 17) GUICtrlSetBkColor(-1, 0xE3E3E3) GUICtrlCreateGroup("", -99, -99, 1, 1) ; $OtherInternalGroup = GUICtrlCreateGroup("", 216, 272, 193, 113) $OSCoreApplicationChk = GUICtrlCreateRadio("OS Core Application", 224, 288, 129, 17) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetBkColor(-1, 0xE3E3E3) $InternalOnlyChk = GUICtrlCreateRadio("Internal ONLY Application", 224, 320, 161, 17) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetBkColor(-1, 0xE3E3E3) GUICtrlCreateGroup("", -99, -99, 1, 1) $OtherInternalLabel = GUICtrlCreateLabel("Other / Internal Use", 216, 256, 118, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000000) GUICtrlSetBkColor(-1, 0xE3E3E3) $ConfirmGroup = GUICtrlCreateGroup("", 24, 392, 385, 89) $Confirm = GUICtrlCreateCheckbox("I confirm all details are correct, and I wish to proceed", 48, 456, 329, 17, BitOR($GUI_SS_DEFAULT_CHECKBOX, $BS_CENTER)) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetBkColor(-1, 0xE3E3E3) $ConfirmDesc = GUICtrlCreateEdit("", 32, 408, 361, 41, 0, 0) GUICtrlSetData(-1, StringFormat("Please confirm that all entered information is correct, and the you wish to \r\nproceed with the creation of the " & Chr(39) & "Application Toolkit Wrapper" & Chr(39) & ".")) GUICtrlSetBkColor(-1, 0xE3E3E3) GUICtrlCreateGroup("", -99, -99, 1, 1) $ProceedBtn = GUICtrlCreateButton("Proceed", 128, 488, 75, 25) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x008000) $CancelBtn = GUICtrlCreateButton("Cancel", 240, 488, 75, 25) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0xFF0000) $CapitaLogo = GUICtrlCreatePic("Logo.jpg", 24, 8, 159, 33) $PackagingWrapperLabel = GUICtrlCreateLabel("Packaging Wrapper", 224, 8, 187, 28) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000000) $CreatedByLabel = GUICtrlCreateLabel("...", 16, 528, 405, 15, $SS_CENTER) GUICtrlSetFont(-1, 7, 400, 0, "MS Serif") $VerLabel = GUICtrlCreateLabel("Ver. 1.0 ALPHA", 328, 40, 79, 17) $Step1Label = GUICtrlCreateLabel("Please Enter The Following Information", 24, 80, 274, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000080) GUICtrlSetBkColor(-1, 0xE3E3E3) $Graphic3 = GUICtrlCreateGraphic(16, 72, 404, 452, BitOR($GUI_SS_DEFAULT_GRAPHIC, $SS_SIMPLE)) GUICtrlSetColor(-1, 0xE3E3E3) GUICtrlSetBkColor(-1, 0xE3E3E3) $ApplicationNameDesc = GUICtrlCreateEdit("", 24, 128, 393, 33, 0, 0) GUICtrlSetData(-1, StringFormat("Must be in the following format: Manufacturer_AppName_AppVersion_Rev\r\nEG: Corel_WinZip_21.0_01")) GUICtrlSetBkColor(-1, 0xE3E3E3) $ADGroupNameLabel = GUICtrlCreateLabel("AD Group Name", 24, 200, 95, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000000) GUICtrlSetBkColor(-1, 0xE3E3E3) $ApplicationNameLabel = GUICtrlCreateLabel("Application Name", 24, 112, 103, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000000) GUICtrlSetBkColor(-1, 0xE3E3E3) $ApplicationTypeLabel = GUICtrlCreateLabel("Application Type", 24, 256, 99, 17, BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000000) GUICtrlSetBkColor(-1, 0xE3E3E3) GUISetState(@SW_SHOW) #EndRegion ### END GUI section ### ;GLOBAL VARIABLES Global $ApplicationName, $adstring1 Global $ADGroupName = $adstring1 Global $envSystemDrive = EnvGet("systemdrive") Global $PackagingDirectory = "Packaging\???_Apps" Global $FullDir = $envSystemDrive & "\" & $PackagingDirectory & "\" & $ApplicationName Global $currentDate = @MDAY &"-"& @MON &"-"& @YEAR Global $currentTime = @HOUR &":"& @MIN &":"& @SEC ; Register the WM_COMMAND to intercept when the value in the first input's value is changed. GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND') While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $CancelBtn Exit Case $ProceedBtn ;Check Application Name Validity $ApplicationNameInputValid = StringSplit(GUICtrlRead($ApplicationNameInput), "_") If $ApplicationNameInputValid[0]<> 4 Then ConsoleWrite("Application Name - NOT Valid" & @CRLF) $ApplicationNameInputValidYes = 0 MsgBox(0,"Are The Details Correct?", "Application Name NOT Valid.") GUICtrlSetState($ApplicationNameInput,$GUI_FOCUS) Elseif $ApplicationNameInputValid[0]= 4 Then ConsoleWrite("Application Name - Valid" & @CRLF) $ApplicationNameInputValidYes = 1 EndIf ;Is Confirm Checkbox 'Checked' if GUICtrlRead($Confirm) = $GUI_CHECKED Then ConsoleWrite("$Confirm - ticked" & @CRLF) $ConfirmYes = 1 Else $ConfirmYes = 0 ConsoleWrite("$Confirm - NOT ticked" & @CRLF) MsgBox(0,"Are The Details Correct?", "Please complete confirmation.") EndIf ;Is $CatalogueAppChk 'Checked' if GUICtrlRead($CatalogueAppChk) = $GUI_CHECKED Then ConsoleWrite("$CatalogueAppChk - ticked" & @CRLF) $CatalogueAppChkYes = 1 Else ConsoleWrite("$CatalogueAppChk - NOT ticked" & @CRLF) $CatalogueAppChkYes = 0 EndIf ;Is $NonCatalogueAppChk 'Checked' if GUICtrlRead($NonCatalogueAppChk) = $GUI_CHECKED Then ConsoleWrite("$NonCatalogueAppChk - ticked" & @CRLF) $NonCatalogueAppChkYes = 1 Else ConsoleWrite("$NonCatalogueAppChk - NOT ticked" & @CRLF) $NonCatalogueAppChkYes = 0 EndIf ;Is $OtherAppChk 'Checked' if GUICtrlRead($OtherAppChk) = $GUI_CHECKED Then ConsoleWrite("$OtherAppChk - ticked" & @CRLF) $OtherAppChkYes = 1 Else ConsoleWrite("$OtherAppChk - NOT ticked" & @CRLF) $OtherAppChkYes = 0 EndIf ConsoleWrite(@CRLF & "##### COMPLETED #####" & @CRLF) EndSwitch WEnd ;Check for 'Application Name' update Func _GetAppName() $adString = StringReplace(GUICtrlRead($ApplicationNameInput), "_", " ",2) $adstrings = StringSplit($adString, "_") Global $adString1 = $adstrings[1] Global $ApplicationName = GUICtrlRead($ApplicationNameInput) GUICtrlSetData($ADGroupNameInput, $adstring1) EndFunc ;WM_COMMAND Function used for Auto Input of fields Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $lParam Local $iHiWord = _WinAPI_HiWord($wParam) ; Control identification code. Local $iLoWord = _WinAPI_LoWord($wParam) ; Control identifier. Switch $iHiWord Case $EN_CHANGE ; When a change event is intercepted. Switch $iLoWord ; Retrieve the controlid. Case _GetAppName() ; If it matches the first input then call the custom function _GetInput. ConsoleWrite("Debug: value was changed." & @CRLF) _GetAppName() EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND I hope all this makes sense. Thanks in advance
  6. I have been experiment for months trying to find a way to be able to like script the find button to find some text and click on that text or something nearby. Is this possible? When the search hilites the text of course this is not where the cursor is so you cannot command a click at that point. I can get the coordinates of any point and go there and click... but I cannot find the coordinates of a piece of text i have searched up and click that.. Thanks
  7. Hi, I would like to share this simple project which aims to be a first approach in order to use AutoIt as scripting language for mobile automation (Android). This project is an ImperiusGeorge client for mobile test automation that support native Android apps. You can find more information at https://ohtejera.github.io/ImperiusAutoIt and here's the link to the project on Github: https://github.com/ohtejera/ImperiusAutoIt Best regards. Henry
  8. I am looking to writing an automation script for converting the following SQL procedure code into VBCode as shown below Example ALTER PROCEDURE [dbo].[firstprocedure] (        @var1 varchar(10),        @var2 varchar(7),        @var3 float )    CONVERSION Public Function firstprocedure(ByVal var1 As String, ByVal var2 As String, ByVal var3 As Integer) As DataSet         Dim ds As New DataSet()         '**************query  with stored procedure**********         Dim CMD As New SqlCommand("GetCountOfTempGramWtsGwByFoodCodeProgressAndNewSequence")         CMD.Connection = GetConnection()         CMD.Parameters.Add("@var1", SqlDbType.VarChar).Value = var1         CMD.Parameters.Add("@var2", SqlDbType.VarChar).Value = var2         CMD.Parameters.Add("@var3", SqlDbType.Float).Value = var3         CMD.CommandType = CommandType.StoredProcedure         Dim adapter As New SqlDataAdapter(CMD)   I will be reading the procedural code from the first file that has to be read and create the VB code by writing onto a new file. My approach is that I need the following information captured in Variables which I can insert later onto the new file as and where applicable. In order to do that I need to extract the following bit of information from the file to be READ Name of procedure : firstprocedure List of Variables : @var1, @var2, @var3 Data Types: varchar, varchar & float What I need help with is extracting the list of variables and data types in separate variables. I am looking to build a Regular Expression which I can use to achieve the same. I tried making use of StringSplit function delimited on spaces(" ") but that did not work when reading the file from notepad. I reckon it does not detect spaces in the file. Please help me with the RegExp. Any other suggestions on how best to go about doing this conversion are also welcome. Thank You
  9. Version 1.0.0

    228 downloads

    System Requirements : It will run on all windows operating system : Windows server 2003, 2008, 2012 and also Windows XP, 7,8,10 and other windows platform.This is full package of the software which includes Automatic webpage refreshment, Changing date stamp of files from one to many files or any extension type, File Management (Transfer files from data centre with network path and direct directory either by Date (from last to first modified date or from first to last modified date) and also by Name Computer Inventory- Display hardware and software information in text file and also can use to centralize all your computer information Automation to zip and unzip files and folders. Paste file to many folders Recycling Empty files and folders Searching files and folders Trim Filenames automatically (from end or beginning or combined) Note: If you are having problem using the application, do not hesitate to contact me or comment on it . I am still working on improving it and also adding some features. Computer Information Inventory program : The Files : Get Computer Detailes.exe - This application will create path C:\M-Omega containing two folders for hardware info and one for software info. You can use One2many tasks in Logmein to put info in that path for many computers. It can work to centralized about thousands of computers. Centralized_all_Computer_Details Folder : You will find 3 files in this folder. Right click the central.ini file and select Edit and change the path name in the file as Input1="\\network_path\pathfile\". Make sure all the computers have access to this share network path... Copy also the user_interface_combo in the same place where the \\network_path\pathfile is located. After this, select all the computers you will like to get their computer information. For example, if using Logmein, use one2many tasks. Double click the replicate_inifile.bat. This will copy the cenral.ini to all the required PC path into this location -- "C:\M-Omega\Config_centralize_inventory\central.ini". If your PC is not using C drive, then you can change the C drive to D or E or F which is available. Please note this is when you do not have C drive, that is when you can change the C Drive in the batch script to D or E or F You can now use other remote software such as LogmeIn (One2Many tasks) to run this application "Centralize_all_Computer_details.exe" on all your target computers selected. This will look for the network path you inputed into the central.ini file located in each computer and Within 1 minutes, the hardware and software info is generated on two folders on the network path provided. This can work on thousands of computers. User Interface Combo... This is GUI of the application which can help you interact with the software and hardware info in these folders. I have included files in these folders to understand how this combo GUI works. Make sure this file is located in the same place where you define your network path in the central.ini file.
  10. Hi Developers, Currently i am trying to do this. By using pushbullet, i was able to send to my android mobile phone a sms/whatapps message which was also being push to my laptop. What i want to do is this, when i receive the push notification, it will look at the content of the message and execute a program (exe). Example, if i send Harddisk as content message, my laptop which also receive the push notification will see this message and run a Harddisk.exe program (display the current Harddisk space). If this is not the tools that i should use. I suppose autoit can do this automation, if not, can anyone suggest which tools can do it? Many Thanks A Newbies to autoit
  11. Opt("WinDetectHiddenText",1) #include <IE.au3> #include <Array.au3> #include <File.au3> #include <MsgBoxConstants.au3> #include <clear.au3> #include <ColorConstants.au3>; Including required files #include <GUIConstantsEx.au3> #include <file.au3> #include <string.au3> Sleep(5000) Local $emails = "email.txt" ;sets file path Local $pwd = "pwd.txt" ;sets file path Local $name = "name.txt" Local $ArrayEmail[57], $ArrayPwd[57], $ArrayName[57] ;declares array _FileReadToArray($emails, $ArrayEmail) ;converts file to array _FileReadToArray($pwd, $ArrayPwd);converts file to array _FileReadToArray($name, $ArrayName);converts file to array Local $url= "https://localhost/signup" Local $oIE = _IECreate($url, 1) $tags = $oIE.document.GetElementsByTagName("a") For $tag in $tags $class_value = $tag.GetAttribute("class") If string($class_value) = "badge-signup-email-link" Then $oCorrectObj = $tag ExitLoop EndIf Next If IsObj ( $oCorrectObj ) Then _IEAction ($oCorrectObj, "click") EndIf Local $name = _IEGetObjByName ($oIE, "fullname") Local $email = _IEGetObjByName ($oIE, "email") Local $password = _IEGetObjByName ($oIE, "password") _IEFormElementSetValue($name, $ArrayName[1]) _IEFormElementSetValue($email, "" & ++1 & $Arrayemail[1]) _IEFormElementSetValue($password, $ArrayPwd[1]) $colTags = _IETagNameGetCollection($oIE, "input") For $oTag In $colTags If $oTag.value = "Sign Up" Then sleep(15000) _IEAction($oTag, "click") _IENavigate($oIE,"javascript:void(0);") ; javascript:void is triggered. EndIf Next I coded this script and silly me forgot to create it in a loop to begin with -.- now I have tried While & For loop with counters and what not, but I just can't seem to get it to work. Could someone be of assistance? Thanks in advance.
  12. Hello, I'm new here and new to AutoIT. This is an amazing tool and inspiring contributions from the members. I would appreciate some help since I have little experience. We are looking for a script to run through a large file servers and build an HTML report detailing files, their age (more than a year), last access, and the person having full permission access... Thank you....
  13. I get a lot of tedious tasks I have to go through over and over in my IT work, a common one is waiting for Windows updates to finish so I can reboot a computer and then scan for more updates and then install them. This could be easily accomplished through an autoit script that follows a list of commands looking in a general area of the screen, looking for a specific color, clicking the color, rinse wash repeat. I have a lot of these individual tasks I'm trying to accomplish regularly, and I don't want to develop individual scripts for each one, rather I want a control panel that will allow me to add functions one at a time in a graphical layout. I imagine a small text-box region in the bottom-left corner listing tasks 1 item at a time, and allowing me to edit them or re-arrange them in the control panel. It would allow me to do things like: select a window by title (this would be a button I press on the control panel which then waits for me to CTRL+Click a window title bar, it then knows this is the target window and captures it's name. Then it records the instructions in a list.) After a list of tasks has been performed, it would save it as a simple text-file so that I can edit this command list again, or compile it into an executable. I know a lot of these things can be accomplished with the autoit3info program, and I don't mind if this plugs into that as long as all the interaction comes from the central control panel window. Upon execution it should perform tasks slowly because many of the computers I work with perform very slowly. Ex: if it has instructions to click start menu-->all programs-->admin tools there should be a consistent delay in the mouse moving and the cursor clicking. Maybe even just wait for colors to change so it knows. I want the following functions to be in the control panel: Define Region (lets me draw a red square on screen, further commands can be specified to only look within this region) Find Color Pattern (Finds pixel colors for an image in a region, this should be used to match things like desktop icons, tasktray icons, etc. These might move around so it needs to look within a region to find a set of pixels that look like this and attempts an action). Send Keys (opens a text field where I can define keystrokes to send). Send Command (sends cmd line). Call Window (lets me target a window by title and then calls it up on script execution). For/While conditions (this will allow me to insert conditional values, ex: creating a for loop that attempts to find this color and click, but if it does that and then still can't find the color or window title for the next step then it can backstep and keep looking for the first color). There is more detail that I will write up at length in a doc that I can send to the developer. I'm looking to keep this project around the $400 mark and can pay via paypal or other preferred and secure medium. This is essentially a bot making program to help automate mundane computer tasks. Hopefully this task isn't too difficult for my budget, I'm open to input and discussion. Once the app has been developed I welcome the developer to release publicly under GNU.
  14. Disabled WPF Combo Boxes are not selectable and cannot receive focus. Despite that there is a value there and want to know if there is anyway to access it. If I use Junkew's simplyspy.au3 both the program and simplespy.au3 will crash the moment I attempt to retrieve this combobox. If I paste the capture before the crash, Simple Spy doesn't have any data registered for $UIA_SelectionSelectionPropertyId. AutoIt Error for simplyspy.au3: If I use UI Spy or Inspect I do see a value named "list item" "Flat". However, if I try: $comboBox.GetCurrentPropertyValue("SelectionSelection", $selection) ConsoleWrite($selection) Then ComboBox is highlighted but $selection is blank. Is it imposible to retrieve this value when the comboBox is disabled? @junkew @LarsJ
  15. I have been successfully automating a WPF program using the UIAWrapper.au3 file. However some panel elements appear in panels to where they need to be scrolled down to. Nevertheless, I can still invoke buttons and access fields that are not visible on screen. The problem comes with the datagrid. I can locate the grid, dump all the children and locate the specific element by the text in the field. It will locate it in the panel even if it is not on screen. However, I cannot select it using _UIA_action if it isn't visible. As it is part of a row and not a button, I cannot invoke it. The parent element has no unique identifiers. The parent element has a row element. Since I can locate the element by text. Is there someway that I can say, $thisElement.GetParentElement($oParent) or $thisElement.GetFirstAncestor($oParent) My hope is through this I can get the Row where that element falls. Then I can select the first grid element and arrow down to that row.
  16. I sort of get a break from "things I have to do" and can do a bit of "things I want to do" for scripting for a bit One thing that would be infinitely useful that I really need to get under my belt is internet/website automation. I used to use this heavily years ago when working helpdesk before I converted over to AutoIT (was using the "other guys" stuff back then) IE being the easiest to work with I would assume (even though its not a browser I use) I google/search and poke in and out of various threads to learn some of it, but I had to ask do we have like a be all end all thread or resource that really shows how to figure this stuff out? An example would be opening a page and then finding all the links/buttons/forms to interact with. I am currently doing that with a For loop using one of the GetCollection type of functions, but it could be easier to look at the page source or maybe even have a tool like the Autoit Window Info tool that can simply mouse over things but I have not found the information to point to these techniques/tools. Any tips/tricks, links, etc I can get would be a good help to start me in the right direction. Regards,
  17. Hi all, I need to automate some mouse clicks in a GUI. It is an audio editor. Name is Steinberg Nuendo. My problem is, it doesn't have any controlIDs. So i did the automation with MouseClick() function. My question is, Is there any better ways to deal these kind of GUIs ? I can't depend mouse click function. Especially when we need to change the mouse cord mode frequently.
  18. I'm trying to conduct UI automation using AutoIt through use of the UI Automation library provided by @junkew. The reason why I'm using the UI Automation library and not just AutoIt's out of box controls is because the application I'm trying to automate was created using both standard and non-standard windows controls. Some were built in-house which is likely the reason for the difficulty I'm experiencing, but I believe there should be a way to do it because both the spy tool provided by @junkew and the Windows inspect.exe tool can both provide information about individual elements of the Grid, but I'm failing to find a coded solution. I would appreciate help in the right direction. NOTE: I changed the name of the element of interest as well as the Window since the application is not mine to dispense. At this moment I'm trying to solve two problems: Perform some allowed UI Automation action on the element of a Grid with the specified text. Extract all the elements within the Grid for analysis. Similar to the idea of a dump I guess. The simplespy.exe application produces this code, which works to some degree. It puts the Grid in focus which brings the previously clicked row into focus, but it does not select a desired element or row with the text specified. ;~ *** Standard code *** #include "UIAWrappers.au3" AutoItSetOption("MustDeclareVars", 1) Local $oP4=_UIA_getObjectByFindAll($UIA_oDesktop, "Title:=WindowTitle;controltype:=UIA_WindowControlTypeId;class:=ATL:4476F950", $treescope_children) _UIA_Action($oP4,"setfocus") Local $oP3=_UIA_getObjectByFindAll($oP4, "Title:=;controltype:=UIA_PaneControlTypeId;class:=WTL_SplitterWindow", $treescope_children) _UIA_Action($oP3,"setfocus") Local $oP2=_UIA_getObjectByFindAll($oP3, "Title:=;controltype:=UIA_PaneControlTypeId;class:=WTL_PaneContainer", $treescope_children) _UIA_Action($oP2,"setfocus") Local $oP1=_UIA_getObjectByFindAll($oP2, "Title:=;controltype:=UIA_PaneControlTypeId;class:=#32770", $treescope_children) _UIA_Action($oP1,"setfocus") Local $oP0=_UIA_getObjectByFindAll($oP1, "Title:=;controltype:=UIA_PaneControlTypeId;class:=#32770", $treescope_children) _UIA_Action($oP0,"setfocus") _UIA_setVar("SalesorderEntry.mainwindow","title:=RowOfInterestText;classname:=GRID") _UIA_action("SalesorderEntry.mainwindow","setfocus") simplespy.exe also produced this information about the focused element: Mouse position is retrieved 2177-480 At least we have an element [RowOfInterestText][GRID] Having the following values for all properties: Title is: <RowOfInterestText> Class := <GRID> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 2037;318;588;466 *** Parent Information top down *** 5: Title is: <Desktop> Class := <#32769> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 0;0;1920;1200 "Title:=Desktop;controltype:=UIA_PaneControlTypeId;class:=#32769" 4: Title is: <WindowTitle> Class := <ATL:4476F950> controltype:= <UIA_WindowControlTypeId> ,<50032> , (0000C370) 2020;250;1256;583 "Title:=WindowTitle;controltype:=UIA_WindowControlTypeId;class:=ATL:4476F950" 3: Title is: <> Class := <WTL_SplitterWindow> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 2028;300;1240;502 "Title:=;controltype:=UIA_PaneControlTypeId;class:=WTL_SplitterWindow" 2: Title is: <> Class := <WTL_PaneContainer> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 2028;300;1240;502 "Title:=;controltype:=UIA_PaneControlTypeId;class:=WTL_PaneContainer" 1: Title is: <> Class := <#32770> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 2028;300;1240;502 "Title:=;controltype:=UIA_PaneControlTypeId;class:=#32770" 0: Title is: <> Class := <#32770> controltype:= <UIA_PaneControlTypeId> ,<50033> , (0000C371) 2037;305;1224;479 "Title:=;controltype:=UIA_PaneControlTypeId;class:=#32770" *** Detailed properties of the highlighted element *** UIA_title:= <RowOfInterestText> UIA_text:= <RowOfInterestText> UIA_regexptitle:= <RowOfInterestText> UIA_class:= <GRID> UIA_regexpclass:= <GRID> UIA_iaccessiblechildId:= <0> UIA_id:= <249> UIA_handle:= <4526846> UIA_RuntimeId:= <42;4526846> UIA_BoundingRectangle:= <2037;318;588;466> UIA_ProcessId:= <6892> UIA_ControlType:= <50033> UIA_LocalizedControlType:= <pane> UIA_Name:= <RowOfInterestText> UIA_HasKeyboardFocus:= <True> UIA_IsKeyboardFocusable:= <True> UIA_IsEnabled:= <True> UIA_AutomationId:= <249> UIA_ClassName:= <GRID> UIA_Culture:= <0> UIA_IsControlElement:= <True> UIA_IsContentElement:= <True> UIA_IsPassword:= <False> UIA_NativeWindowHandle:= <4526846> UIA_IsOffscreen:= <False> UIA_Orientation:= <0> UIA_FrameworkId:= <Win32> UIA_IsRequiredForForm:= <False> UIA_IsDockPatternAvailable:= <False> UIA_IsExpandCollapsePatternAvailable:= <False> UIA_IsGridItemPatternAvailable:= <False> UIA_IsGridPatternAvailable:= <False> UIA_IsInvokePatternAvailable:= <False> UIA_IsMultipleViewPatternAvailable:= <False> UIA_IsRangeValuePatternAvailable:= <False> UIA_IsScrollPatternAvailable:= <False> UIA_IsScrollItemPatternAvailable:= <False> UIA_IsSelectionItemPatternAvailable:= <False> UIA_IsSelectionPatternAvailable:= <False> UIA_IsTablePatternAvailable:= <False> UIA_IsTableItemPatternAvailable:= <False> UIA_IsTextPatternAvailable:= <False> UIA_IsTogglePatternAvailable:= <False> UIA_IsTransformPatternAvailable:= <False> UIA_IsValuePatternAvailable:= <False> UIA_IsWindowPatternAvailable:= <False> UIA_ValueIsReadOnly:= <True> UIA_RangeValueValue:= <0> UIA_RangeValueIsReadOnly:= <True> UIA_RangeValueMinimum:= <0> UIA_RangeValueMaximum:= <0> UIA_RangeValueLargeChange:= <0> UIA_RangeValueSmallChange:= <0> UIA_ScrollHorizontalScrollPercent:= <0> UIA_ScrollHorizontalViewSize:= <100> UIA_ScrollVerticalScrollPercent:= <0> UIA_ScrollVerticalViewSize:= <100> UIA_ScrollHorizontallyScrollable:= <False> UIA_ScrollVerticallyScrollable:= <False> UIA_SelectionCanSelectMultiple:= <False> UIA_SelectionIsSelectionRequired:= <False> UIA_GridRowCount:= <0> UIA_GridColumnCount:= <0> UIA_GridItemRow:= <0> UIA_GridItemColumn:= <0> UIA_GridItemRowSpan:= <1> UIA_GridItemColumnSpan:= <1> UIA_DockDockPosition:= <5> UIA_ExpandCollapseExpandCollapseState:= <3> UIA_MultipleViewCurrentView:= <0> UIA_WindowCanMaximize:= <False> UIA_WindowCanMinimize:= <False> UIA_WindowWindowVisualState:= <0> UIA_WindowWindowInteractionState:= <0> UIA_WindowIsModal:= <False> UIA_WindowIsTopmost:= <False> UIA_SelectionItemIsSelected:= <False> UIA_TableRowOrColumnMajor:= <2> UIA_ToggleToggleState:= <2> UIA_TransformCanMove:= <False> UIA_TransformCanResize:= <False> UIA_TransformCanRotate:= <False> UIA_IsLegacyIAccessiblePatternAvailable:= <True> UIA_LegacyIAccessibleChildId:= <0> UIA_LegacyIAccessibleName:= <RowOfInterestText> UIA_LegacyIAccessibleRole:= <10> UIA_LegacyIAccessibleState:= <1048580> UIA_IsDataValidForForm:= <False> UIA_ProviderDescription:= <[pid:9208,hwnd:0x4512FE Main:Nested [pid:6892,hwnd:0x4512FE Annotation(parent link):Microsoft: Annotation Proxy (unmanaged:uiautomationcore.dll); Main:Microsoft: MSAA Proxy (unmanaged:uiautomationcore.dll)]; Nonclient:Microsoft: Non-Client Proxy (unmanaged:uiautomationcore.dll); Hwnd(parent link):Microsoft: HWND Proxy (unmanaged:uiautomationcore.dll)]> UIA_IsItemContainerPatternAvailable:= <False> UIA_IsVirtualizedItemPatternAvailable:= <False> UIA_IsSynchronizedInputPatternAvailable:= <False> I experienced success as well with the Windows inspect.exe in identifying the text of the element of interest when I put focus on it: This is what inspect.exe shows: How found: Mouse move (2161,483) hwnd=0x004512FE 32bit class="GRID" style=0x52810371 ex=0x4 RuntimeId: "[42.4526846]" BoundingRectangle: {l:2037 t:318 r:2625 b:784} ProcessId: 6892 ControlType: UIA_PaneControlTypeId (0xC371) LocalizedControlType: "pane" Name: "RowOfInterestText" AccessKey: "" HasKeyboardFocus: true IsKeyboardFocusable: true IsEnabled: true AutomationId: "249" ClassName: "GRID" HelpText: "" IsPassword: false NativeWindowHandle: 0x4512FE IsOffscreen: false FrameworkId: "Win32" ProviderDescription: "[pid:6872,hwnd:0x4512FE Main:Nested [pid:6892,hwnd:0x4512FE Annotation(parent link):Microsoft: Annotation Proxy (unmanaged:uiautomationcore.dll); Main:Microsoft: MSAA Proxy (unmanaged:uiautomationcore.dll)]; Nonclient:Microsoft: Non-Client Proxy (unmanaged:uiautomationcore.dll); Hwnd(parent link):Microsoft: HWND Proxy (unmanaged:uiautomationcore.dll)]" LegacyIAccessible.ChildId: 0 LegacyIAccessible.DefaultAction: "" LegacyIAccessible.Description: "" LegacyIAccessible.Help: "" LegacyIAccessible.KeyboardShortcut: "" LegacyIAccessible.Name: "RowOfInterestText" LegacyIAccessible.Role: client (0xA) LegacyIAccessible.State: focused,focusable (0x100004) LegacyIAccessible.Value: "" IsDockPatternAvailable: false IsExpandCollapsePatternAvailable: false IsGridItemPatternAvailable: false IsGridPatternAvailable: false IsInvokePatternAvailable: false IsLegacyIAccessiblePatternAvailable: true IsMultipleViewPatternAvailable: false IsRangeValuePatternAvailable: false IsScrollPatternAvailable: false IsScrollItemPatternAvailable: false IsSelectionItemPatternAvailable: false IsSelectionPatternAvailable: false IsTablePatternAvailable: false IsTableItemPatternAvailable: false IsTextPatternAvailable: false IsTogglePatternAvailable: false IsTransformPatternAvailable: false IsValuePatternAvailable: false IsWindowPatternAvailable: false IsItemContainerPatternAvailable: false IsVirtualizedItemPatternAvailable: false IsSynchronizedInputPatternAvailable: false FirstChild: [null] LastChild: [null] Next: "Menu" text Previous: [null] Other Props: Object has no additional properties Children: Container has no children Ancestors: "" dialog "" dialog "" pane "" pane "WindowTitle" window "Desktop" pane [ No Parent ]
  19. We need to automate Silverlight Application. Can we use AutoIT for the same? If yes then how?
  20. This is a script I put together to make it as fast and as easy as possible for a user to batch process image files using the free program Irfanview. The program itself is already really great with a batch processing feature, but it also has CMD interfacing so that just screamed "Do an Autoit Script!" at me. I ended up going for context menu integration so that I could have any folder auto populate its path to the script rather than relying on the user to type it or something. There could be some better/smarter ways to do this, but this way is working for me. It consists of two scripts, one to install the context menu and other needed things, and the other is the actual work script for processing the files. You would need to change some of these things a bit probably for your use. The .bat file is the file being run. The .ini is the settings for the batch conversion The .bat File "i_view32.exe" "replace\*.jpg" /ini="C:\IT Automation" /advancedbatch /convert="replace\processed images\*.jpg" The Install Script #RequireAdmin If FileExists("C:\Program Files (x86)\IrfanView\i_view32.exe") Then $key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" $val = "PATH" $PATH = RegRead($key, $val) $sAddThisPath = "C:\Program Files (x86)\IrfanView" $PATH = $PATH & ";" & $sAddThisPath RegWrite($key,$val,"REG_EXPAND_SZ",$PATH) EnvUpdate() ElseIf FileExists("C:\Program Files\IrfanView\i_view32.exe") Then $key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" $val = "PATH" $PATH = RegRead($key, $val) $sAddThisPath = "C:\Program Files\IrfanView" $PATH = $PATH & ";" & $sAddThisPath RegWrite($key,$val,"REG_EXPAND_SZ",$PATH) EnvUpdate() Else MsgBox(0, "Black Magic Automation", "Irfanview is not Detected, Install Aborted") Exit EndIf DirCreate("C:\IT Automation") FileInstall("C:\My Places\Scripting\AutoIT\My Scripts\Context Menu Adding\RiskProcessReplace.bat", "C:\IT Automation\RiskProcessReplace.bat", 1) FileInstall("C:\My Places\Scripting\AutoIT\My Scripts\Context Menu Adding\IV-INI\i_view32.ini", "C:\IT Automation\i_view32.ini", 1) FileInstall("C:\My Places\Scripting\AutoIT\My Scripts\Context Menu Adding\BatchConvert.exe", "C:\IT Automation\BatchConvert.exe", 1) RegWrite("HKEY_CLASSES_ROOT\Directory\shell\Auto Batch Convert") RegWrite("HKEY_CLASSES_ROOT\Directory\shell\Auto Batch Convert", "", "REG_SZ", "Auto Batch Convert") RegWrite("HKEY_CLASSES_ROOT\Directory\shell\Auto Batch Convert", "Extended", "REG_SZ", "") RegWrite("HKEY_CLASSES_ROOT\Directory\shell\Auto Batch Convert", "Icon", "REG_SZ", '"C:\IT Automation\BatchConvert.exe"') RegWrite("HKEY_CLASSES_ROOT\Directory\shell\Auto Batch Convert\command") RegWrite("HKEY_CLASSES_ROOT\Directory\shell\Auto Batch Convert\command", "", "REG_SZ", 'C:\Windows\explorer.exe "C:\IT Automation\BatchConvert.exe"') MsgBox(0, "Black Magic Automation", "Install is Completed, Shift Right Click Folders to use.") And the actual working script #include <file.au3> $saveClip = ClipGet() Send("^c") Sleep(150) $filesfolders = ClipGet() ClipPut($saveClip) DirCreate($filesfolders & "\Processed Images") FileCopy("C:\IT Automation\RiskProcessReplace.bat", @TempDir & "\RiskProcessReplace.bat", 1) _ReplaceStringInFile(@TempDir & "\RiskProcessReplace.bat", "replace", $filesfolders) ShellExecute(@TempDir & "\RiskProcessReplace.bat") Feedback is welcome, if you know a way to do this better let me know! Of late I like using .bat files with replace strings rather than trying any @ComSpec scripts makes life so much easier!
  21. Hello all, i need a script to complete surveys for me... something like this: open firefox go to specified URL wait till loaded fill forms submit wait till loaded check new URL repeat Could someone please suggest me the best way to do this?
  22. Hello everyone. I am trying to automate a program that's written using "widgets". It has controls that don't work well with the AutoIt Window Info app, or with spy. For example, one control is of class wxWindowClassNR28, and its text property is "wxlistctrlcolumntitles". The actual displayed text is empty. It seems to be drawn inside of a control of class "wxWindowClassNR" with text property "CNOwnerDrawSplitterWindow". There are many layered controls. When I use the _WinAPI_GetWindow command to get the children, I have no idea what child control I have from the text or the class name, and since not all of the children are visible or on top, the best I have been able to do is get their coordinates, do a screen capture at the coordinates, use OCR and hope to have it match something I expect. I need a better way. I have tried Junkew's IUIAutomation framework, but did not get anywhere. I need new ideas. Has anyone been successful using Autoit on this type of controls? In case someone is familiar with this, the program is a printing application called CWS.exe, "command work station". Thanks!
  23. I´ve got an already usably working script for entering a reservation in to a Java App, but to give it more than very basic functionality and stability I´m stuck. Is there any way beyond MouseGetCursor and WinActivate, and other than lot´s of Sleep, that I can make this more stable? sometimes there is a popup in the app, which of course the script doesn´t see, and sometimes the script "trips" and enters the wrong data in the wrong field, and that of course causes lots of errors and popups... yes, there´s a "Java UDF" Topic in the example scripts section, but that didn´t work for me, and the development on that seems to have stopped years ago... (unless I´m overlooking another thread somewhere?) A newer thread about, as far as I understand it, automating hard-to-automate controls might be a direction: ?do=embed' frameborder='0' data-embedContent>... Here´s a cut-out of what I´ve built so far: Global $sWinTitle = "OPERA PMS [Version" Global $wHandle = WinGetHandle($sWinTitle) Global $cHandle = ControlGetHandle($wHandle, "", "") #region Parser ;that´s a separate story #endregion #region Entry _BlockWindow() OperaSend("!.") OperaSend($aRES[$ixGuestSurName],2) OperaSend("{TAB}") OperaSend($aRES[$ixGuestFirstName],2) OperaSend("{TAB}") OperaSend("i{ENTER}") OperaSend("!n") ;etc... _unBlock() #endregion Func OperaSend($sSend, $flag = 0) While Not WinActive($wHandle);force the window to be active WinActivate($wHandle) WEnd If $flag = 2 Then ;$flag = 2 send longer strings of text with clipput+paste Do ClipPut("") ClipPut($sSend) Sleep(128) ;seems to be necessary Until @error = 0 Do $x = ControlSend($wHandle, "", $cHandle, "^v");{CTRLDOWN}{CTRLUP} Until $x = 1 Sleep(128) Else ;flag = 1 Sends Raw, $flag = 0 Sends "normal" Do $x = ControlSend($wHandle, "", $cHandle, $sSend, $flag) Until $x = 1 Sleep(64) EndIf Do Sleep(8) Until MouseGetCursor() = 2 ;check for non-arrow mouse cursors (busy, etc.) Sleep(8) EndFunc ;==>OperaSend #include <Misc.au3> ; for MouseTrap Function Func _BlockWindow() $pos = WinGetPos($wHandle) If IsHWnd($wHandle) Then WinActivate($wHandle) WinSetState($wHandle, "", @SW_DISABLE) WinSetTrans($wHandle, "", 255 * 0.92) _MouseTrap($pos[0] + 10, $pos[1] + 32) _BlockKeys(1) ConsoleWrite("Blocked" & @CR) $blocked = 1 EndIf EndFunc ;==>_BlockWindow Func _unBlock() If IsHWnd($wHandle) Then _BlockKeys() _MouseTrap() WinSetTrans($wHandle, "", 255) WinSetState($wHandle, "", @SW_ENABLE) ConsoleWrite("Unblocked" & @CR) $blocked = 0 EndIf EndFunc ;==>_unBlock Func _BlockKeys($flag = 0);instead of _BlockInput(), because no Admin privileges If $flag = 1 Then HotKeySet("{TAB}", "_BlockKeysDummy") HotKeySet("^{TAB}", "_BlockKeysDummy") HotKeySet("!{TAB}", "_BlockKeysDummy");doesn´t really work HotKeySet("+{TAB}", "_BlockKeysDummy") HotKeySet("#{TAB}", "_BlockKeysDummy") HotKeySet("{ENTER}", "_BlockKeysDummy") ;...etc. Else HotKeySet("{TAB}") HotKeySet("^{TAB}") HotKeySet("!{TAB}");doesn´t really work HotKeySet("+{TAB}") HotKeySet("#{TAB}") HotKeySet("{ENTER}") ;...etc. EndIf EndFunc ;==>_BlockKeys
  24. I'm new to AutoIt and am attempting to automate a desktop Java application on Windows XP. I've set up Java Ferret to enable viewing the objects in the Java app window. I need to have the AutoIt script click on a search button, but have been unable to figure out how to do it. I have set up the AutoIt Java UDF and have tried using some of these functions to click the button, but to no avail. The following is the Java Ferret output when the mouse is hovering over the button to be clicked . What is the syntax of the AutoIt (or Java UDF) command that should be used to click the search button? Version Information: Java virtual machine version: 1.6.0_31 Access Bridge Java class version: 1.6.0_31 Access Bridge Java DLL version: AccessBridge 2.0.2 Access Bridge Windows DLL version: AccessBridge 2.0.2 AccessibleContext information at mouse point [0, 0]: Name: Search Description: Search Patients Role: push button Role in en_US locale: push button States: enabled,focusable,visible,showing States in en_US locale: enabled,focusable,visible,showing Index in parent: 6 Children count: 0 Bounding rectangle: [500, 91, 576, 139] Top-level window name: Desktop - Clinic - John Smith Top-level window role: frame Parent name: Parent role: panel Visible descendents count: 0 AccessibleActions info: Number of actions: 1 Action 0 name: click Accessible Value information: Current Value: 0 Maximum Value: 1 Minimum Value: 0
  25. What is the way to use proxy with authentication in automating IE? I managed to change proxy and port in registry, but I can't find a way to use login and password for proxy. Can anyone point to a working way?