I have 2 windows that have the same title. So, I have to detect them by handle. They use very long time to begin from the beginning of my code, too. So I have to begin them before, then debug the middle of code by detect them by their handle. The codes are difference between them, so I must specify the handle by my hand. However, thank you very much.
I got my own window's handle number by Au3Info application.
But It didn't work when I use like this:
;run Au3Info.exe to get calc.exe window's handle number
;then activate minimizing calc.exe by copied window's handle number from Au3Info.exe
Run("C:\Program Files\AutoIt3\Au3Info.exe")
WinWaitActive("(Frozen) AutoIt v3 Window Info")
WinSetOnTop("(Frozen) AutoIt v3 Window Info", "", 0)
WinMove("(Frozen) AutoIt v3 Window Info","",0,0)
Run("calc.exe")
WinWaitActive("Calculator")
Winmove("Calculator","",500,500)
WinActivate("(Frozen) AutoIt v3 Window Info")
WinWaitActive("(Frozen) AutoIt v3 Window Info")
MouseClickDrag("left",261, 156,505,505)
MouseClick("left",136, 374,10) ;copy calculator window's handle number form Au3Info
WinSetState ( "Calculator", "", @SW_MINIMIZE )
WinActivate(ClipGet ( ))
;$hWnd=0x004D01DE ; window's handle number copy from Au3Info
;ConsoleWriteError(@crlf & WinActivate($hWnd) & @crlf)
Above, I want to active current session 0x004D01DE-handle windows, but it didn't work, returned me "0", not found specific window. Although the window's handle number still be the same, when I recheck.
I debugging some part of my script, so I have to copy the specific handle window's number by myself to save a long period of time for debugging from the full code.
Did I use that window's handle number in right way?
The answer is HWnd()
. Just change WinActivate(ClipGet())
to WinActivate(HWnd(ClipGet()))
.