判断程序是否已经运行

原创 2006年05月26日 16:17:00

#include <stdio>

#if defined(WIN32)
  #include "windows.h"
  #include "wincon.h"
  #include "stdlib.h"
  #include "stdio.h"
  #include "time.h"
  #include "nb30.h"
  #include "Tlhelp32.h"
#elif defined(SOLARIS)
#endif

bool hasRun (const char* name)
{
#if defined(WIN32)                     
 DWORD id = GetCurrentProcessId();
 
 PROCESSENTRY32 pe;
 HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 pe.dwSize = sizeof(PROCESSENTRY32);
 if (Process32First(hSnapshot, &pe))
 {
 while (Process32Next(hSnapshot, &pe))
 {
   if (ACE_OS::strcasecmp(pe.szExeFile, name) == 0)
   {
     if (id != pe.th32ProcessID)
     {
       CloseHandle(hSnapshot);
       return true;
     }
   }
 }
 }
 
 CloseHandle(hSnapshot);
 return false;
 
#elif define(SOLARIS)
 return false;

void main(void)
{
 const char* prog = argv[0];
 if (hasRun(prog))
 {
  printf("%s already has run!", prog);
 }
 else
 {
  printf("%s does not exist!", prog);
 }
}

相关文章推荐

判断程序实例是否已经运行的N种方法

From: http://socol.iteye.com/blog/687728 1.  在创建的文件中写入进程的ID,如果机器非正常退出,重启后先读取这个文件,得到进程ID,再根据...
  • hansel
  • hansel
  • 2012年06月27日 09:39
  • 2796

C# 检测程序是否已经运行

写了个工具类库,因为基本上每个程序都会用到。 直接上码: using System; using System.Collections.Generic; using System.Text; usin...

判断是否已经安装vc2008运行时库

Visual C++ Redistributable(简称VC运行库),现在的系统VC2005是必须安装,QQ、游戏、网络应用都离不开VC2005的支持,(也就是说VC不安装这些都不能用),VC200...

如何判断是否已经安装VC++2008运行库

Visual C++ Redistributable(简称VC运行库),现在的系统VC2005是必须安装,QQ、游戏、网络应用都离不开VC2005的支持,(也就是说VC不安装这些都不能用),VC200...
  • shdj111
  • shdj111
  • 2014年01月20日 09:51
  • 1188

等待一个已经运行的程序结束

  • 2011年05月14日 16:52
  • 1.8MB
  • 下载

利用javascript判断浏览器是否已经安装ActiveX控件和是否禁止运行ActiveX控件

利用javascript判断浏览器是否已经安装ActiveX控件和是否禁止运行ActiveX控件 (转) 从微软给IE打上SP2以后,当IE在打开一些含有ActiveX控件的网页是,不再像以...

利用javascript判断浏览器是否已经安装ActiveX控件和是否禁止运行ActiveX控件

从微软给IE打上SP2以后,当IE在打开一些含有ActiveX控件的网页是,不再像以前那样,弹出提示框,让用户选择是否安装控件;现在默认情况下给隐藏起来,普通用户根本不知道是怎么回事。公司产品同样也遇...
  • qbook
  • qbook
  • 2011年10月19日 10:15
  • 1856

利用javascript判断浏览器是否已经安装ActiveX控件和是否禁止运行ActiveX控件

利用javascript判断浏览器是否已经安装ActiveX控件和是否禁止运行ActiveX控件 (转) 从微软给IE打上SP2以后,当IE在打开一些含有ActiveX控件的网页是,不再像以前那...

利用javascript判断浏览器是否已经安装ActiveX控件和是否禁止运行ActiveX控件

 从微软给IE打上SP2以后,当IE在打开一些含有ActiveX控件的网页是,不再像以前那样,弹出提示框,让用户选择是否安装控件;现在默认情况下给隐藏起来,普通用户根本不知道是怎么回事。公司产品...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:判断程序是否已经运行
举报原因:
原因补充:

(最多只允许输入30个字)