 		WinRestore, ahk_pid %PrgPIDtmp%
 
 	WinGet, firstPIDhWnd, ID, ahk_pid %PrgPIDtmp%
+WinGetClass, OutputVar, ahk_id %firstPIDhWnd%
+WinGetTitle, OutputVar1, ahk_id %firstPIDhWnd%
+;msgbox % "Window " firstPIDhWnd " Class " OutputVar " Title " OutputVar1
+/*
+TES Construction Set
+Class: TES Construction Set
+
+Render Window
+Class: MonitorClass
+
+Object Window
+Class: FaceClass
+
+Cell View
+Class ViewerClass
+
+3 windows of (UnTitled)
+Class tooltips_class32
+
+(UnTitled)
+Class ComboLBox
+
+MSCTFIME UI
+Class: MSCTFIME UI
+
+Default IME
+Class: IME
+
+*/
+	Process, Exist, %PrgPIDtmp%
+		if (ErrorLevel)
+		{
+			if (!firstPIDhWnd)
+			WinWait, ahk_pid %PrgPIDtmp%,, 20000
+
+			if (!firstPIDhWnd)
+			{
+			ReplaceSystemCursor()
+			MsgBox, 8192, Moving Prg, Cannot find window to move!
+			return
+			}
+		}
+		else
+		{
+			if (!firstPIDhWnd)
+			{
+			ReplaceSystemCursor()
+			outStr := "Process ended, and unable to find window to move."
+			return outStr
+			}
+		}
 	WinGetPos, x, y, w, h, ahk_pid %PrgPIDtmp%
 	}
 

		}
		out := []
		; The function calls...
		if hwnd
			DllCall("EnumChildWindows", "Ptr", hwnd, "Ptr", pWinEnum, "Ptr", &out)
			; &out: An application-defined value to be passed to the callback function.
		else

				WinClose, ahk_pid %PrgPIDtmp%
				sleep 220
				;Try again
				
				Process, Exist, %PrgPIDtmp%
					if (ErrorLevel)
					{
