在Nsis中关闭所有浏览器

时间:2013-08-23 08:10:04

标签: cross-browser 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中创建一个代码,它将关闭所有打开的浏览器并重新打开它们。

1 个答案:

答案 0 :(得分:0)

我得到了答案

Section 
Execwait '"$SYSDIR\taskkill.exe" /F /IM chrome.exe /T'
SectionEnd

我们可以杀死任何任务。