windows窗体控件:防止一个没有窗体的WINDOWS程序的重复运行



用互斥(mutex)mutex本来是多线程同步用防止多个线程访问同资源而引发冲突用createmutex可以创建mutex对象实质上是个kernel对象

在任何win32(包括gdi和console)启动部分加上以下代码(console、mfccwinapp派生类initinstance成员、rawsdkwin ):

hmutex=createmutex(
null,//nosecurityattributes
false,//initiallynotowned
\"runonlyoneinstance\");//命名mutex是全局对象
//在所有process都可以访问到

(hmutexnull||error_already_exists::getlasterror)
{
//第 2次或以后运行时会得到mutex已经创建
false;
}
嘿嘿是不是不用findwindow优雅简洁多了?

另外如果要限定同时可运行n个例子如何办?
tips:用信号量(semaphore)
Tags:  如何防止重复提交 防止重复编译 防止重复提交 windows窗体控件

延伸阅读

最新评论

发表评论