如何要求重新启动火狐浏览器
How to ask to restart firefox?
我创建了一个c++程序,该程序还安装了Firefox扩展。因此,要使此扩展程序正常工作,他需要重新启动Firefox。
那么,我怎样才能要求在用户使用火狐时重新启动它呢?
这种看起来像是这个问题的重复: winapi - 如何在C++中按名称获取进程句柄。从本质上讲,您要做的是"找到"进程"firefox.exe"(代替"target.exe),如果找到它成功,您会放置一个警告对话框以关闭Firefox并重新打开。如果没有,您只需继续安装或其他操作即可。希望这有帮助!
使用标题找到 Firefox 的主窗口。我猜Firefox将当前页面的标题附加到主窗口的标题中,因此FindWindow
是不够的。尝试使用 EnumWindows
枚举顶级窗口,并在标题中找到包含"Mozilla Firefox"的窗口。如果您有窗口句柄,请向其发送WM_CLOSE
消息(使用等待目标窗口处理消息的PostMessage
),然后等待它消失。您可能会看到一个弹出窗口,以相同的方式找到并关闭它。如果 Firefox 主窗口在几秒钟后仍然打开(尝试反复找到它),您可以拨打TerminateProcess
(为此您需要GetWindowThreadProcessId
和OpenProcess
)。当窗口关闭时,通过调用 CreateProcess
重新启动 Firefox 。(Web 上有很多关于所有这些 API 函数的示例。
相关文章:
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 如何使用 ctypes 停止和重新启动从 Python 运行的C++代码
- 重新启动后,线程无法在 while 循环中再次运行
- 在程序和基于文本的游戏和C++内重新启动程序
- 在程序/基于文本的游戏/C++内重新启动程序
- 为什么使用 exec() 重新启动程序不能正常工作?
- 即使在我关闭应用程序并重新启动它后,如何保持我的 ID 被阻止?
- 有没有办法在不重新启动或注销的情况下加载游标?
- IO服务重新启动后,Boost最后期限计时器持续触发
- 在C++中重新启动随机数序列
- 稍后在构造函数中重新启动异常指令删除此指令
- 如何获取代码::块以在代码::块重新启动后保持库的配置?
- 我想在我设置的几秒钟后重新启动我的程序
- 如何使重新启动此循环,当用户输入 1 时,并在 0 时停止
- UDP 服务器每 5 秒重新启动一次
- 有没有办法检查内存缓存是否已重新启动?
- (Windows 10) 在不更新的情况下重新启动C++
- Live555MediaServer 在每个新连接时重新启动流。为什么将"reuseSource"设置为 true 无法按预期工作?
- 如何要求重新启动火狐浏览器
- 如何让火狐在不重新启动的情况下重新加载user_pref