利用互斥控制程序只有一个运行实例
2010-11-06 09:31
357 查看
bool CheckOneInstance(LPCTSTR mutexName) { HANDLE hOnceRunMutex ; wstring strClassName= mutexName; bool bFind = false; hOnceRunMutex = OpenMutex(MUTEX_ALL_ACCESS,FALSE,strClassName.c_str()); if(hOnceRunMutex==NULL) { bFind = false; hOnceRunMutex=CreateMutex(NULL,TRUE,strClassName.c_str()); } else { bFind = true; } return !bFind; } int _tmain(int argc, _TCHAR* argv[]) { if (CheckOneInstance(L"mytest")) { cout << "运行成功" << endl; } else { cout << "运行失败" << endl; } getchar(); return 0; }
由于互斥对象是内核对象,因此可以跨进程访问,作为控制程序只有一个运行实例的手段。
相关文章推荐
- 利用互斥变量在mfc中使得程序只有一个实例方法
- C# 创建互斥程序_只允许运行一个程序实例
- 互斥对象之只运行一个实例程序
- 保证程序只有一个实例运行 &&& 动态调用DLL的研究
- 利用两个BrocastReceiver来保证同时只有一个实例在运行
- System.Threading.Mutex:一台电脑上面只有一个进程实例在运行,利用Mutex互斥量可以实现了这个功能
- C# 确保程序只有一个实例在运行[转]
- C#利用Mutex互斥量实现同时只有一个进程实例在运行
- 程序只有一个实例运行
- C#利用Mutex实现只运行一个程序实例
- 确保只有一个程序实例运行(C#)之解决方案
- WPF程序只有一个实例运行
- C++控制程序只运行一个实例
- Win32 程序 确保只有一个实例运行
- 互斥运行一个程序实例
- 保证程序只有一个实例运行并且先将旧实例关闭再运行新实例
- 让程序只有一个实例运行
- linux入手小程序——任何一个程序的运行只有借助于操作系统才能得以顺利完成的小实例
- 利用互斥体(MUTEX)实现程序只允许运行一个实例
- 怎么控制程序只运行一个实例(使exe文件不被重复打开)