您的位置:首页 > 其它

通过windows内核对象保证程序的单开

2013-03-06 15:45 232 查看
windows内核对象可以通过唯一命名空间的方式在进程之间共享,因此如果想要程序只能打开一个,可以通过内核对象的创建来判断

HANDLE handle = ::CreateMutex(NULL, FALSE, _T("Only One"));

if (GetLastError() == ERROR_ALREADY_EXISTS) {

//退出程序

}

此处创建互斥器时,内核会去判断同样命名的对象是否已经存在。注意,即使是同样的内核对象,句柄也可能不同

创建的句柄会在进程结束时回收,所以不用手动close
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: