关闭NSIS中的活动浏览器并将其还原到以前的状态

时间:2013-12-23 11:20:33

标签: windows google-chrome firefox nsis

我正在寻找一种仅在安装期间关闭所有用户的活动浏览器的方法。安装完成后,我希望浏览器返回到之前的状态,包含所有选项卡。

我看了一眼:Close All Browser In Nsis

我尝试添加类似ExecShell "open" "chrome.exe"的内容,但似乎没有使用之前的标签打开浏览器。

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:0)

使用Kill Proc插件关闭浏览器很简单。

但要小心 - 每次都让用户有机会至少使用Message Box保存他的作品(是/否/取消)。

当浏览器关闭时,它应该自动保存所有选项卡和整个会话。如果没有,则必须在设置中进行配置(当然,每个浏览器都有所不同)。

可以通过配置文件自动更改设置(对于Chrome,它称为“首选项”),但这非常粗鲁。

因此,如果将浏览器配置为自动保存/加载所有选项卡,这将对您有用。

答案 1 :(得分:0)

您可以使用nsProcess插件

适用于Chrome

Function CloseRestoreChrome
${nsProcess::FindProcess} "chrome.exe" $IsRestoreChrome
StrCmp $IsRestoreChrome 0 0 +3
logex::Write "$dt Chrome running."
${nsProcess::KillProcess} "chrome.exe" $R0

;Dow your work here

${If} $IsRestoreChrome == 0
StrCpy $path "$LocalAppData\Google\Chrome\Application\chrome.exe --restore-last-session"
exec $path
logex::Write "$dt Chrome restored"
${EndIf}
FunctionEnd

同样,你可以查找和杀死Firefox和IE的过程。