仅当某个 window 打开时,我怎样才能让我的 GUI 保持最大化?
How can I make I make my GUI stay maximized ONLY if a certain window is open?
我有一个图形用户界面可以帮助我自动化某些事情,但仅限于特定程序中的某些事情。我希望我的 GUI 在我使用它的程序未激活时自行最小化,并在我再次激活 window 时能够自行最大化。任何帮助表示赞赏。还要记住,我对此很陌生!谢谢
While 1
Sleep(100)
If WinActive("My Program") Then
WinSetState("My GUI", "", @SW_RESTORE)
WinSetOnTop("My GUI","",1)
Else
WinSetState("My GUI", "", @SW_MINIMIZE)
Endif
Switch $nMsg
Case $button1
function()
Case $button2
function()
EndSwitch
Wend
看起来您的代码会持续将您的 GUI 设置在顶部,并在您的程序处于活动状态时最小化。这可能有帮助:
Global $ghActive
Global $ghMyProgram = WinGetHandle("My Program")
; if you're not already using a global handle for your gui
Global $ghMyGUI = WinGetHandle("My GUI")
While 1
Sleep(100)
$ghActive = WinGetHandle("[ACTIVE]")
If $ghActive = $ghMyProgram Then
WinSetState($ghMyGUI, "", @SW_RESTORE)
WinSetOnTop($ghMyGUI, "", 1)
ElseIf $ghActive <> $ghMyGUI And $ghActive <> $ghMyProgram Then
WinSetOnTop($ghMyGUI, "", 0)
WinSetState($ghMyGUI, "", @SW_MINIMIZE)
EndIf
Switch $nMsg
Case $button1
function()
Case $button2
function()
EndSwitch
WEnd
我有一个图形用户界面可以帮助我自动化某些事情,但仅限于特定程序中的某些事情。我希望我的 GUI 在我使用它的程序未激活时自行最小化,并在我再次激活 window 时能够自行最大化。任何帮助表示赞赏。还要记住,我对此很陌生!谢谢
While 1
Sleep(100)
If WinActive("My Program") Then
WinSetState("My GUI", "", @SW_RESTORE)
WinSetOnTop("My GUI","",1)
Else
WinSetState("My GUI", "", @SW_MINIMIZE)
Endif
Switch $nMsg
Case $button1
function()
Case $button2
function()
EndSwitch
Wend
看起来您的代码会持续将您的 GUI 设置在顶部,并在您的程序处于活动状态时最小化。这可能有帮助:
Global $ghActive
Global $ghMyProgram = WinGetHandle("My Program")
; if you're not already using a global handle for your gui
Global $ghMyGUI = WinGetHandle("My GUI")
While 1
Sleep(100)
$ghActive = WinGetHandle("[ACTIVE]")
If $ghActive = $ghMyProgram Then
WinSetState($ghMyGUI, "", @SW_RESTORE)
WinSetOnTop($ghMyGUI, "", 1)
ElseIf $ghActive <> $ghMyGUI And $ghActive <> $ghMyProgram Then
WinSetOnTop($ghMyGUI, "", 0)
WinSetState($ghMyGUI, "", @SW_MINIMIZE)
EndIf
Switch $nMsg
Case $button1
function()
Case $button2
function()
EndSwitch
WEnd