Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Include, %A_ScriptDir%\Lib\Classes\Util\MiscUtils.ahk
- #Include, %A_ScriptDir%\Lib\Classes\Util\Environment\StringUtils.ahk
- #Include, %A_ScriptDir%\Lib\Classes\Util\File\File.ahk
- #Include, %A_ScriptDir%\Lib\Classes\Util\File\Process.ahk
- #Include, %A_ScriptDir%\Lib\Classes\Util\UI\Control.ahk
- #Include, %A_ScriptDir%\Lib\Classes\Util\UI\Window.ahk
- #Include, %A_ScriptDir%\Lib\Classes\Util\UI\WindowTitle.ahk
- #Include, %A_ScriptDir%\Module Extensions\VA_Extension.ahk
- #Include, %A_ScriptDir%\Module Extensions\VA.ahk
- Hotkey, Esc, closescript
- DetectHiddenWindows, on
- FEPath := "D:\RocketLauncher\RocketLauncherUI\RocketLauncherUI.exe"
- FEName := "ahk_exe RocketLauncherUI.exe"
- FrontEndProcess := new Process(FEPath)
- ; Storing the FE's x,y,width, & height to restore it on exit if an application changed it going fullscreen
- FrontEndProcess.Process("Exist") ; store PID in object
- If FrontEndProcess.PID { ; If the FE is running, store the position and size
- RLLog.Info("Main - Detected " . FrontEndProcess.FileName . " is currently running")
- ; FrontEndWindow := new Window(new WindowTitle("","","","",FrontEndProcess.PID)) ; instantiate Front End window object from PID
- FrontEndWindow := new Window(new WindowTitle("","",FrontEndProcess.FileFullPath)) ; instantiate Front End window object from PID
- FrontEndWindow.Get("ID")
- ; MsgBox % FrontEndWindow.ID
- FrontEndWindow.WinTitle.PID := ""
- ; FrontEndWindow.WinTitle.ID := FrontEndWindow.ID
- FrontEndWindow.GetPos(frontendX, frontendY, frontendW, frontendH)
- RLLog.Info("Main - " . FrontEndProcess.FileName . " coordinates are x" . FrontEndWindow.X . " y" . FrontEndWindow.Y . " w" . FrontEndWindow.W . " h" . FrontEndWindow.H)
- } Else
- RLLog.Info("Main - " . FrontEndProcess.FileName . " is not currently running")
- titlename := FrontEndWindow.GetTitle(0)
- classname := FrontEndWindow.GetClass(0)
- tpid := "ahk_pid " . FrontEndWindow.PID
- ; class := "ahk_class " . class
- ; tid := "ahk_id " . WinID
- ; WinGet, WinID, ID, %tpid%
- ; WinGet, WinPID, PID, %tpid%
- ; WinGetClass, class, %tpid%
- ; WinGetTitle, title, %tpid%
- ; WinGetPos, X, Y, Width, Height, %tpid%
- WinGet, WinID, ID, RocketLauncherUI
- WinGet, WinPID, PID, RocketLauncherUI
- WinGetClass, class, RocketLauncherUI
- WinGetTitle, title, RocketLauncherUI
- WinGetPos, X, Y, Width, Height, RocketLauncherUI
- TestWindow := new Window(new WindowTitle("RocketLauncherUI"))
- TestWindow.Get("ID")
- TestWindow.Get("PID")
- TestWindow.GetPos(frontendX, frontendY, frontendW, frontendH)
- testtitlename := TestWindow.GetTitle(0)
- testclassname := TestWindow.GetClass(0)
- MsgBox % "OLD:`nX: " . X . "`nY: " . Y . "`nW: " . Width . "`nH: " . Height . "`nWinPID: " . WinPID . "`nWinID: " . WinID . "`nTitle: " . title . "`nClass: " . class . "`n`nNEW`nX: " . FrontEndWindow.X . "`nY: " . FrontEndWindow.Y . "`nW: " . FrontEndWindow.W . "`nH: " . FrontEndWindow.H . "`nFrontEndProcess.PID: " . FrontEndProcess.PID . "`nFrontEndWindow.ID: " . FrontEndWindow.ID . "`nFrontEndWindow.Title: " . titlename . "`nFrontEndWindow.Class: " . classname . "`n`nTEST`nX: " . TestWindow.X . "`nY: " . TestWindow.Y . "`nW: " . TestWindow.W . "`nH: " . TestWindow.H . "`nFrontEndProcess.PID: " . TestWindow.PID . "`nFrontEndWindow.ID: " . TestWindow.ID . "`nFrontEndWindow.Title: " . testtitlename . "`nFrontEndWindow.Class: " . testclassname
- ExitApp
- ScriptError(txt,a="") {
- msgbox % txt
- }
- GetFullName( fn ) {
- ; http://msdn.microsoft.com/en-us/library/Aa364963
- ; Static buf, i ; removed i from static because it was always using HS's root folder as the working dir which threw off all relative paths
- Static buf
- ; If !i
- i := VarSetCapacity(buf, 512)
- DllCall("GetFullPathNameA", "str", fn, "uint", 512, "str", buf, "str*", 0)
- Return buf
- }
- GetOSVersion() {
- VarSetCapacity(v,148), NumPut(148,v)
- DllCall("GetVersionEx", "uint", &v)
- ; Return formatted version string similar to A_AhkVersion.
- ; Assume build number will never be more than 4 characters.
- return NumGet(v,4) ; major
- . "." NumGet(v,8) ; minor
- . "." SubStr("0000" NumGet(v,12), -3) ; build
- }
- closescript:
- ExitApp
- ReStartExplorer( WaitSecs = 10 ) { ; SKAN, CD:07-Dec-2013 LM:14-Dec-2014 | goo.gl/UnS2rl
- ; Credit: Gracefully Exit Explorer (Programmatically) - Stack Overflow | goo.gl/tAA9HY
- ; Thanks to chaz - http://ahkscript.org/boards/viewtopic.php?p=7099#p7099
- If A_OSVersion not in WIN_XP,WIN_VISTA,WIN_7
- Return 0, ErrorLevel := 1
- If ( A_OSVersion = "WIN_XP" ) {
- WinGet, ShellPID, PID, ahk_class Progman
- PostMessage, 0x012, 0, 0,, ahk_class Progman ; WM_QUIT = 0x12
- } Else {
- WinGet, ShellPID, PID, ahk_class Shell_TrayWnd
- PostMessage, 0x5B4, 0, 0,, ahk_class Shell_TrayWnd ; WM_USER + 0x1B4
- }
- Process, WaitClose, %ShellPID%, %WaitSecs%
- IfEqual, ErrorLevel, 0, Run %A_WinDir%\explorer.exe
- Return !ErrorLevel
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement