读书人

怎么做到应用程序只运行一个实例

发布时间: 2012-03-29 12:53:12 作者: rapoo

如何做到应用程序只运行一个实例?
WinXP + BCB6.0

开发的应用程序,如何确保只运行一个实例?

我用HANDLE HMutex=CreateMutex 方式未遂。求解!

[解决办法]

C/C++ code
HANDLE hmute=CreateMutex(NULL,FALSE,"BCB");  if(GetLastError()==ERROR_ALREADY_EXISTS)  {      Application->MessageBoxA("程序已运行","提示",MB_OK);//此处你可以做其他处理 如激活已运行的实例      return 1;  }//记得CloseHandle:)
[解决办法]
CreateMutex是可行的,看你的代码是否有问题
[解决办法]
CreateMutex可行的,要看你代码放的位置,也就是说如果你放的位置在实例已经出来了就没有意义了。
[解决办法]
Google "site:csdn.net Application CreateMutex"
[解决办法]
(1)、 h_mutex1=CreateMutex(NULL,FALSE,"mutex_for_readcount");//创建一个互斥体   (2)、HANDLE m_hMutex = CreateMutex(NULL, FALSE, "Sample07");// 检查错误代码   if (GetLastError() == ERROR_ALREADY_EXISTS)   {   // 如果已有互斥量存在则释放句柄并复位互斥量   CloseHandle(m_hMutex);   m_hMutex = NULL;   // 程序退出   return FALSE;   };   //上面这段代码演示了有名互斥量在进程互斥中的用法。代码的核心是CreateMutex()对有名互斥量的创建。   CreateMutex() 用于有独占要求的程序 (在其进程运行期间不允许其他使用此端口设备的程序运行,或不允许同名程序运行)。

读书人网 >C++ Builder

热点推荐