利用互斥对象在重复建立时会发生错误返回的特性,可以实现一个程序只运行一个实例.此方法相对查找窗口标题来比较要简单得多.如下:
将以下代码放入App::InitInstance()中:
HANDLE hMutex;
hMutex=CreateMutex(NULL,TRUE,"Sniffer");
if(hMutex){
if(ERROR_ALREADY_EXISTS==GetLastError()){
AfxMessageBox("An instance is runing!");
return FALSE;
}
}
本文介绍了一种使用互斥对象防止Windows应用程序多次启动的方法。通过在App::InitInstance()中创建互斥对象并检查其返回值,可以确保程序仅运行一个实例。
1304

被折叠的 条评论
为什么被折叠?



