Damein Posted November 10, 2011 Share Posted November 10, 2011 So I was trying to use this function, and even the Help file code does not work? Run("notepad.exe") $pos = ControlGetPos("[CLASS:Notepad]", "", "Edit1") MsgBox(0, "Window Stats:", "POS: " & $pos[0] & "," & $pos[1] & " SIZE: " & $pos[2] & "," & $pos[3] ) Brings by a subscript error. Any ideas? Most recent sig. I made Quick Launcher W/ Profiles Topic Movie Database Topic & Website | LiveStreamer Pro Website | YouTube Stand-Alone Playlist Manager: Topic | Weather Desktop Widget: Topic | Flash Memory Game: Topic | Volume Control With Mouse / iTunes Hotkeys: Topic | Weather program: Topic | Paws & Tales radio drama podcast mini-player: Topic | Quick Math Calculations: Topic Link to comment Share on other sites More sharing options...
BrewManNH Posted November 10, 2011 Share Posted November 10, 2011 Put a Sleep in between the Run command and the ControlGetPos line, it will error if Notepad isn't found, and it usually takes a little bit before the window exists. 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...
monoscout999 Posted November 10, 2011 Share Posted November 10, 2011 Hi Damein. Becuase the notepad isn`t open when the ControlGetPos() function is called, you can solve this with a WinWait call after you run notepad... Run("notepad.exe") WinWait("[CLASS:Notepad]") $pos = ControlGetPos("[CLASS:Notepad]", "", "Edit1") MsgBox(0, "Window Stats:", "POS: " & $pos[0] & "," & $pos[1] & " SIZE: " & $pos[2] & "," & $pos[3] ) ...Or add a error check to avoid the error Run("notepad.exe") $pos = ControlGetPos("[CLASS:Notepad]", "", "Edit1") If not @error then MsgBox(0, "Window Stats:", "POS: " & $pos[0] & "," & $pos[1] & " SIZE: " & $pos[2] & "," & $pos[3] ) This deppend of the future usage of your script. Link to comment Share on other sites More sharing options...
Damein Posted November 10, 2011 Author Share Posted November 10, 2011 (edited) I see, thanks. Maybe you could further help me with ControlGetPos. I am trying to save roughly 12 buttons into an Array, and then at the close of the program save all of those buttons X,Y,Width and Height into an INI. I was trying to do it like this $Control[1] = GuiCtrlCreateButton("Test1", 10,20,30,40) $Control[2] = GuiCtrlCreateButton("Test2", 50,60,70,80) @ Exit Function For $i = 1 To 2 Step +1 $ControlPos = ControlGetPos("Youtube Playlist Generator", "", $Control[$i]) MsgBox(0, "Test", $ControlPos[0] & @CRLF & $ControlPos[1] & @CRLF & $ControlPos[2] & @CRLF & $ControlPos[3]) Next But this comes up with an error after the first MsgBox, saying there is no second control I assume? Not 100%, I'm not that great with arrays. Alright, I found out why it isn't somewhat working. It's because Control[$i] isn't trying to reach an array, so changing $Control[1] to $Control1 works. But, not its only pulling the pos info for the first button, even when I have $Control[2] set to $Control2 Edited November 10, 2011 by Damein Most recent sig. I made Quick Launcher W/ Profiles Topic Movie Database Topic & Website | LiveStreamer Pro Website | YouTube Stand-Alone Playlist Manager: Topic | Weather Desktop Widget: Topic | Flash Memory Game: Topic | Volume Control With Mouse / iTunes Hotkeys: Topic | Weather program: Topic | Paws & Tales radio drama podcast mini-player: Topic | Quick Math Calculations: Topic Link to comment Share on other sites More sharing options...
guinness Posted November 10, 2011 Share Posted November 10, 2011 (edited) Look at this example and the Array wiki (which I believe you've been pointed to already)Local $aControl[3] = [2] ; Number of items in the Array. $aControl[1] = GUICtrlCreateButton("Test1", 10, 20, 30, 40) $aControl[2] = GUICtrlCreateButton("Test2", 50, 60, 70, 80) For $i = 1 To $aControl[0] $aControlPos = ControlGetPos("Youtube Playlist Generator", "", $aControl[$i]) If Not @error Then MsgBox(0, "Test", $aControlPos[0] & @CRLF & $aControlPos[1] & @CRLF & $aControlPos[2] & @CRLF & $aControlPos[3]) EndIf NextEdit: Also the example will be fixed in the next version. Edited November 10, 2011 by guinness 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...
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