VC小技巧(1)---禁止同一应用程序同时运行

王朝vc·作者佚名  2007-05-09
窄屏简体版  字體: |||超大  

有时候为了避免不必要的错误,应防止同一应用程序被打开两个实例

以下一个函数可以达到此项目的,挺有用的!

BOOL C××App::AlreadyRunning()

{

BOOL bFound = FALSE;

// Try to create a mutex with the app's name

HANDLE hMutexOneInstance = ::CreateMutex(NULL,TRUE,_T(AfxGetAppName()));

// Already there...means that we are already running an instance

if(::GetLastError() == ERROR_ALREADY_EXISTS)

bFound = TRUE;

// Release the mutex

if(hMutexOneInstance)

::ReleaseMutex(hMutexOneInstance);

return(bFound);

}

只要在

BOOL C**App::InitInstance()

{

// Is it already running?

if(AlreadyRunning())

{

// Yep...get out now

AfxMessageBox(IDS_ALREADY_RUNNING,MB_ICONWARNING);

return(FALSE);

}

。。。。。

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航