程序只运行一个实例(四)

来源:互联网 发布:大富翁3.4棋牌源码 编辑:程序博客网 时间:2024/04/30 10:11

采用Mutex+FindWindow方法来实现:

1TCHAR str[]=_T("TESTAPP");HANDLE hdle=NULL;hdle=CreateMutex(NULL,FALSE,str);if (hdle!=NULL&&(GetLastError()==ERROR_ALREADY_EXISTS)){AfxMessageBox(_T("已经运行一个实例"));HWND hwnd=::FindWindow(_T("#32770"),_T("Test1"));::ShowWindow(hwnd,SW_SHOWNORMAL);::SetForegroundWindow(hwnd);return FALSE;}

最后别忘记了CloseHandle(hdle)  hdle=NULL;

程序很简单,相关函数CreateMutex()、FindWindow()的使用可以查找MSDN。

0 0
原创粉丝点击