用命名内核对象防止windows同时运行两个程序

利用创建命名内核对象的方法可以防止同时运行程序,由于可能其他人写的程序用的命名会与自己的重复,
所以建议采用唯一的GUID。
以下代码根据《winows核心编程》整理。
  1. #include <windows.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5.     HANDLE h = CreateMutexW(NULL, FALSE, L"{FA531CC1-0497-11d3-A180-00105A276C3E}");
  6.     if ( GetLastError() == ERROR_ALREADY_EXISTS )
  7.     {
  8.         printf("The application exists!/n");
  9.     }
  10.     else
  11.     {
  12.         printf("Run./n");
  13.     }
  14.     system("pause");
  15.     CloseHandle(h);   
  16.     return 0;
  17. }

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭