Windows / C ++中是否有“重启”功能

时间:2009-09-22 22:18:27

标签: c++ windows restart

在我正在处理的Windows项目中,我打算有一个菜单选择,可以完全重启应用程序。有没有Windows或C ++功能呢?

6 个答案:

答案 0 :(得分:3)

没有内置功能,但设计良好的应用程序可以简单地停止正在进行的所有操作,然后循环回到开始。如果你想要一个真正的“重新开始”,你将不得不产生一个新的过程(可能是你在旧的关闭之前做的最后一件事。)

答案 1 :(得分:2)

不,你必须亲自去做。 例如,您可以运行外部进程,该进程将等待您退出应用程序,然后再次运行它。

答案 2 :(得分:1)

实际上,您可能需要查看Windows Vista附带的Restart Manager API。与以往一样,你可以在Visual C++ 2010中对你的内容进行调用,并明确支持它。

答案 3 :(得分:0)

已经需要这样做了。没有任何进一步阅读的最简单方法是编写一个简单的.bat文件(手动或由应用程序动态)启动程序,然后从应用程序中调用该bat文件。

bat文件甚至可能包含一行在启动应用程序后自行删除...

答案 4 :(得分:0)

您想调用CreateProcess,然后使用ExitProcess()正常关闭应用程序的当前实例,或者如果链接到C运行时,只需从main()返回。 但首先你应该问问自己为什么你需要首先重建这个过程。

答案 5 :(得分:-3)

ExitWindowsEx就是你想要的。您还可以运行内置于Windows中的shutdown.exe实用程序。

shutdown -t0 -r (restart the system after 0 seconds)