首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

怎么实现Windows下只启动程序一次

2012-09-06 
如何实现Windows上只启动程序一次问题描述:我们的客户希望客户端程序在客户端上24小时在线,如果因为特殊的

如何实现Windows上只启动程序一次

问题描述:

我们的客户希望客户端程序在客户端上24小时在线,如果因为特殊的原因而崩溃或者退出,应该能自动的重启程序。

我们所想到的一个解决办法就是使用一个监控进程,这个进程一开机的时候就会自动尝试着启动程序;并且,每隔一段时间就检查程序是否还启动着,如果不是的话,则重新启动程序。


问题分析:

1、首先,是如何在Windows上启动一个程序,并定时的检查程序的运行状态,我们可以用如下的代码来做这些事情:

#include "LimitSingleInstance.H"// The one and only CLimitSingleInstance object.CLimitSingleInstance g_SingleInstanceObj(TEXT("Global\\{9DA0BEED-7248-450a-B27C-C0409BDC377D}"));int main(int argc, char* argv[]){    if (g_SingleInstanceObj.IsAnotherInstanceRunning())       return 0;//Rest of code.}


编程环境:

Qt 4.7 + Visual Studio 2008


参考资料:

1、 http://support.microsoft.com/kb/243953

2、 http://stackoverflow.com/questions/1591342/how-to-determine-if-a-windows-process-is-running

3、 http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx

4、 如何创建进程:http://msdn.microsoft.com/en-us/library/ms682512%28VS.85%29.aspx

热点排行