编写将关闭所有在 nsis 中打开的浏览器的代码。
var hadBrowsers
Function closeAllBrowsers
FindWindow $0 "IEFrame"
IntCmp $0 0 0 closeAll
FindWindow $0 "MozillaUIWindowClass"
IntCmp $0 0 0 closeAll
FindWindow $0 "Chrome_WidgetWin_0"
IntCmp $0 0 done closeAll
closeAll:
MessageBox MB_OK "Please close your browsers or press ok to close them all automatically"
;Closing all IE Windows
loop:
FindWindow $0 "IEFrame"
IntCmp $0 0 skipIE
IsWindow $0 0 skipIE
System::Call 'user32::PostMessageA(i,i,i,i) i($0,${WM_CLOSE},0,0)'
StrCpy $hadBrowsers "1"
skipIE:
FindWindow $0 "MozillaUIWindowClass"
IntCmp $0 0 skipFF
IsWindow $0 0 skipFF
System::Call 'user32::PostMessageA(i,i,i,i) i($0,${WM_CLOSE},0,0)'
StrCpy $hadBrowsers "1"
skipFF:
FindWindow $0 "Chrome_WidgetWin_0"
IntCmp $0 0 skipGC
IsWindow $0 0 skipGC
System::Call 'user32::PostMessageA(i,i,i,i) i($0,${WM_CLOSE},0,0)'
StrCpy $hadBrowsers "1"
skipGC:
FindWindow $0 "IEFrame"
IntCmp $0 0 0 wait
FindWindow $0 "MozillaUIWindowClass"
IntCmp $0 0 0 wait
FindWindow $0 "Chrome_WidgetWin_0"
IntCmp $0 0 done wait
wait:
Sleep 100
goto loop
done:
;MessageBox MB_OK $hadBrowsers
StrCmp $hadBrowsers "1" 0 +1
Sleep 2000
FunctionEnd
这是行不通的。
给我一些错误。
我正在尝试在 nsis 中编写一个代码,它将关闭所有打开的浏览器并重新打开它们。