sb1920alk Posted October 25, 2012 Share Posted October 25, 2012 I'm trying to see if someone has already written a script like this. I would like to manually arrange my open program windows, then have the script take a snapshot of the size and position of all of the windows. After time passes and I've moved things around I would like to be able to run a script to restore my windows to the position and size previously saved. Taking it further, I would like it to start applications that aren't started if they're part of the collection of windows (for example if Outlook is one of the windows and I closed it while working, then the restore script would restart Outlook when necessary), and save and restore between multiple snapshots. These different snapshots could be for different types of tasks (development, emailing, browsing, or whatever). Thanks, Link to comment Share on other sites More sharing options...
guinness Posted October 25, 2012 Share Posted October 25, 2012 Here is an idea, edit for your own needs though. Func _GetCurrentPosition() Local $aINISection[4] = ['SizeW', 'SizeH', 'PosX', 'PosY'], $aReturn[4] = [360, 230, -1, -1], $sINI = @ScriptDir & 'Settings.ini' For $i = 0 To 3 $aReturn[$i] = IniRead($sINI, 'General', $aINISection[$i], $aReturn[$i]) Next Return $aReturn EndFunc ;==>_GetCurrentPosition Func _SetCurrentPosition($hHandle) Local $aINISection[4] = ['SizeW', 'SizeH', 'PosX', 'PosY'], $aReturn[4] = [360, 230, -1, -1] Local $aWinGetPos = WinGetPos($hHandle) If @error = 0 Then $aReturn[2] = $aWinGetPos[0] $aReturn[3] = $aWinGetPos[1] EndIf Local $aWinGetClientSize = WinGetClientSize($hHandle) If @error = 0 Then $aReturn[0] = $aWinGetClientSize[0] $aReturn[1] = $aWinGetClientSize[1] EndIf For $i = 0 To 3 If $aReturn[$i] > 0 Then IniWrite(@ScriptDir & 'Settings.ini', 'General', $aINISection[$i], $aReturn[$i]) Else IniDelete(@ScriptDir & 'Settings.ini', 'General', $aINISection[$i]) EndIf Next Return $aReturn EndFunc ;==>_SetCurrentPosition 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...
AZJIO Posted October 25, 2012 Share Posted October 25, 2012 (edited) I have three example to save the position and size of the window, but it depends on the complexity of the script in which those functions are to be used. Here's one example. Edited October 25, 2012 by AZJIO My other projects or all 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