copyleft Posted April 15, 2012 Share Posted April 15, 2012 After launching a truecrypt password prompt window, I am trying to shift focus to the "edit1" field, so that truecrypt is ready to receive user input, with this command: ControlFocus("CLASS:32770", "", "Edit1") This command places the cursor where I want it, but I don't have focus, I still have to click the mouse inside the EDIT1 field before typing. Is there a fix for this or am I using the wrong command? Link to comment Share on other sites More sharing options...
guinness Posted April 15, 2012 Share Posted April 15, 2012 ControlClick? UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
water Posted April 15, 2012 Share Posted April 15, 2012 What's the return value of ControlFocus? My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
copyleft Posted April 15, 2012 Author Share Posted April 15, 2012 (edited) ControlClick doesn't work either, at least after rebooting. I'm using this application immediately after logon. @water, how do I get the return value? Edited April 15, 2012 by copyleft Link to comment Share on other sites More sharing options...
rover Posted April 16, 2012 Share Posted April 16, 2012 (edited) ControlFocus("CLASS:32770", "", "Edit1")Your class statement is incorrectly formatted: [CLASS:#32770]It's better to use verified window/control handles instead of searching every time you read or send to a controlIs there an issue with using the command line?http://www.truecrypt.org/docs/?s=command-line-usage$hPassWin = WinGetHandle("[REGEXPTITLE:Enter password for; CLASS:#32770]") ;to exclude any other #32770 class windows that may be open If Not IsHWnd($hPassWin) Then Exit $hEdit1 = ControlGetHandle($hPassWin,"","[CLASS:Edit; INSTANCE:1]") If Not IsHWnd($hEdit1) Then Exit ControlFocus($hPassWin, "", $hEdit1) Edited April 16, 2012 by rover I see fascists... Link to comment Share on other sites More sharing options...
shornw Posted April 16, 2012 Share Posted April 16, 2012 Send("{TAB n}") maybe [font='Comic Sans MS']Eagles may soar high but weasels dont get sucked into jet engines[/font] Link to comment Share on other sites More sharing options...
copyleft Posted April 18, 2012 Author Share Posted April 18, 2012 (edited) @unmutual. Thanks for the suggestions. Other apps seem to be stealing focus from truecrypt. Maybe I need to put the other apps in the autoit script behind truecrypt or use "run" instead of "runwait". In any event, here's the code I tried that failed: runwait("TrueCrypt.exe /q /auto favorites") ;truecrypt.exe is in path $hPassWin = WinGetHandle("[REGEXPTITLE:Enter password for; CLASS:#32770]") ;to exclude any other #32770 class windows that may be open If Not IsHWnd($hPassWin) Then Exit $hEdit1 = ControlGetHandle($hPassWin,"","[CLASS:Edit; INSTANCE:1]") If Not IsHWnd($hEdit1) Then Exit ControlFocus($hPassWin, "", $hEdit1) run("label.exe F: BACKUP") run("AUTOBACK.exe F:BackupEruntWIN7#Date# /noconfirmdelete /noprogresswindow /days:10") Exit Edited April 18, 2012 by copyleft Link to comment Share on other sites More sharing options...
BrewManNH Posted April 18, 2012 Share Posted April 18, 2012 You can't use RunWait and then expect the script to continue after that to interoperate with the window. RunWait stops execution of the script until what you ran shuts down, so it's no wonder that your script isn't working. bstjohn 1 If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
copyleft Posted April 19, 2012 Author Share Posted April 19, 2012 I tried it both ways, run and runwait, neither worked. I think I'm just going to add all the run items to the autoscript file because the truecrypt window gets focus initially but then something steals it away after a second or so. Link to comment Share on other sites More sharing options...
BrewManNH Posted April 20, 2012 Share Posted April 20, 2012 Truecrypt has command line parameters that you can use rather than trying to send characters to its GUI, which is MUCH more reliable than Send. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
copyleft Posted April 20, 2012 Author Share Posted April 20, 2012 (edited) @BrewManNH. you still have to enter a password at some point if you want to maintain some semblance of security for an encrypted volume. In any event, changing the sequence of the startup app that was interferring with the focus finally fixed the issue. This is what finally worked for me:run("TrueCrypt.exe /q /auto favorites") winwait("Enter password", "Mount Opti&ons") controlfocus("Enter password", "Class:#327701", "Edit1") winwaitnotactive("Enter password", "Mount Opti&ons") run("Other executables.exe") ExitWorks like a charm now. Thanks for everyone's help. Edited April 20, 2012 by copyleft Link to comment Share on other sites More sharing options...
water Posted April 20, 2012 Share Posted April 20, 2012 (edited) @water, how do I get the return value?Sorry, I just noticed you added a question to your post. Use Global $iresult = ControlFocus("CLASS:32770", "", "Edit1")$iResult will be 1 on success or 0 on error. Please check the help file for this. Edited April 20, 2012 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
BrewManNH Posted April 20, 2012 Share Posted April 20, 2012 @BrewManNH. you still have to enter a password at some point if you want to maintain some semblance of security for an encrypted volume. In any event, changing the sequence of the startup app that was interferring with the focus finally fixed the issue. This is what finally worked for me:You can get the password using an InputBox and taking the returned input and putting it into a variable to send to the run command ($sPassword = InputBox("Password", "Please enter the password", "*M")), that would be the easiest way to do it. Just a thought for the future seeing as how you've gotten it to work the way you wanted. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now