CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请问程序怎样检测自己是否已经在执行着一个实例?

楼主qwedcxza(自娱自乐)2002-02-03 13:33:39 在 VC/MFC / 基础类 提问

 
  说得清楚吗?   我的意思是如果你已经执行了这个程序,   再打开它它会提示你本程序已经  
   
  执行了.  
   
  问题是我希望用操作系统提供的功能完成这个,   而不是自己亲自去做.  
   
  问题点数:100、回复次数:6Top

1 楼ahphone(阿丰--重出江湖,陌生的容颜)回复于 2002-02-03 13:49:37 得分 0

操作系统不提供这个功能,但实现的方法比较多,这张帖子里面正在讨论:  
  http://www.csdn.net/Expert/topic/516/516136.shtmTop

2 楼solar(天哪,忘了我是什么时候注册的了!)(int argc, char *argv[])回复于 2002-02-03 14:12:24 得分 0

1.   检查窗口  
  2.   创建Mutex  
  Top

3 楼xiaoxiaohan(萧晓寒)回复于 2002-02-03 14:56:25 得分 100

12. 如何利用多进程对共享内核对象的访问来防止一个应用程序启动多次?  
  举例说明:  
  int   WINAPI   WinMain(   HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,   LPSTR   lpCmdLine,   int   nCmdShow)  
  {  
  HANDLE   hNew             =   NULL;  
  DWORD     dwErrCode   =   0;  
   
  hNew   =   CreateMutex(   NULL,   FALSE,   "{FA123-DKJKL-43443-643FJD3}"   );  
  if   (   hNew   ==   NULL   )  
  {  
                  return   0;  
  }  
  dwErrCode   =   GetLastError(     );  
          if   (   dwErrCode   ==   ERROR_ALREADY_EXISTS   )  
          {  
                  CloseHandle(   hNew   );  
                  return   0;  
          }  
          //   This   is   the   first   instance   of   this   application   running.  
          ……  
          ……  
          ……  
          //   Before   exiting,   close   the   object.  
          CloseHandle(   hNew   );  
          return   0;  
  }  
  Top

4 楼webber84(***闭关修炼中***)回复于 2002-02-03 20:02:52 得分 0

    用ToolHelp函数枚举进程。Top

5 楼rovoboy(魂之猎人)回复于 2002-02-03 20:14:23 得分 0

BOOL   CXXXApp::InitInstance()  
  {  
  //防止多实例  
  HANDLE   hMutex=CreateMutex(NULL,TRUE,   m_pszAppName);    
  if(GetLastError()==ERROR_ALREADY_EXISTS)   {   return   FALSE;   }  
  ......  
  }Top

6 楼pzone(见分眼红)回复于 2002-02-03 20:28:56 得分 0

操作系统提供的功能完成,找XP的XPTop

相关问题

  • 怎样检测在计算机中别的程序调用了socket的实例,就是使用了,os的socket.dll?
  • [急]C#如何检测防止一个程序执行多个副本?
  • (小菜一碟?)怎样让程序重复执行时自动转到已有的实例中?
  • 关于程序实例
  • 求教:如何在程序正在执行循环时,检测其它控件消息。
  • 怎样检测一个对象的实例的存在,并且删除它?程序是怎样实现的?谢谢!
  • 进程检测程序
  • 100分,web程序启动后,检测一个条件,通过则正常执行,否则停止整个web程序
  • 可执行程序
  • 如何让程序单实例运行?

关键词

  • 执行
  • null
  • hnew
  • dwerrcode
  • 程序
  • hinstance

得分解答快速导航

  • 帖主:qwedcxza
  • xiaoxiaohan

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo