您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> 避免程序多次运行

避免程序多次运行

来源:网络整理     时间:2016/7/19 8:36:42     关键词:

关于网友提出的“ 避免程序多次运行”问题疑问,本网通过在网上对“ 避免程序多次运行”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 避免程序多次运行
描述:

我想让我的程序避免多次运行,但希望达到像词霸一样,如果再次运行时自动将前一个运行词霸设为当前活动程序,哪位高手教我如何实现呢?


解决方案1:

//只允许运行一次
HANDLE hMutex=OpenMutex(MUTEX_ALL_ACCESS,0,"ONLYONETIME");
if(hMutex==NULL)
CreateMutex(0,TRUE,"ONLYONETIME");
else
return 0;

解决方案2:

在BOOL CTFApp::InitInstance()中加入这段:
         CString swndname = "";//你程序启动后的窗口名字
HWND pw = NULL;
pw = FindWindow(NULL,swndname.GetBuffer(swndname.GetLength()));
if(pw == NULL )
   return ;
else
{
    CWnd wnd;
    wnd.Attach(pw);
    wnd.ShowWindow(SW_SHOW);
    wnd.Detach();
          }

解决方案3:

给应用设一个静态变量
unsigned int CYourApp::hInstance = 0;
然后在初始化中判断:
BOOL CYourApp::InitInstance()
{
if ( hInstance == 0 )
hInstance++;
else
{
AfxMessageBox("Don't load another instance.");
return FALSE;
}


以上介绍了“ 避免程序多次运行”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2799234.html

相关图片

相关文章