Закрыть все браузер в Nsis

Создание кода, который закроет весь открытый браузер в 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 ответ

Решение

Я получил ответ

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

мы можем убить любую задачу.

Другие вопросы по тегам