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