100分求一个简单问题,如果判断一个给定程序(c:\tset.exe)是否运行! 100分求一个简单问题,如果判断一个给定程序(c:\tset.exe)是否运行! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单:findwindow(你的程序的窗口)麻烦点enumprocess或createtoolhelp32遍历进程表来找到指定的进程 http://expert.csdn.net/Expert/topic/2171/2171174.xml?temp=.4211237 别的帖子抄来的:#define targetFile "explorer.exe"DWORD CInsertDlg::GetProcessId()//获取explorer.exe进程的ID{ DWORD Pid=-1; HANDLE hSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创建系统快照 PROCESSENTRY32 lPrs; ZeroMemory(&lPrs,sizeof(lPrs)); lPrs.dwSize=sizeof(lPrs); Process32First(hSnap,&lPrs);//取得系统快照里第一个进程信息 if (strstr(targetFile,lPrs.szExeFile))//判断进程信息是否是explorer.exe { Pid=lPrs.th32ProcessID; return Pid; } while(1) { ZeroMemory(&lPrs,sizeof(lPrs)); lPrs.dwSize=(&lPrs,sizeof(lPrs)); if (!Process32Next(hSnap,&lPrs))//继续枚举进程信息 { Pid=-1; break; } if (strstr(targetFile,lPrs.szExeFile)) { Pid=lPrs.th32ProcessID; break; } } return Pid;}进程有关的信息都在下面这个结构里PROCESSENTRY32Describes an entry from a list that enumerates the processes residing in the system address space when a snapshot was taken.typedef struct tagPROCESSENTRY32 { DWORD dwSize; DWORD cntUsage; DWORD th32ProcessID; ULONG_PTR th32DefaultHeapID; DWORD th32ModuleID; DWORD cntThreads; DWORD th32ParentProcessID; LONG pcPriClassBase; DWORD dwFlags; TCHAR szExeFile[MAX_PATH]; } PROCESSENTRY32; typedef PROCESSENTRY32 *PPROCESSENTRY32; http://expert.csdn.net/Expert/topic/2171/2171174.xml?temp=.6866266 用imagehlp的函数遍历所有进程 enumprocess或createtoolhelp32枚举进程!判断你的进程是否在其中! 一个网络编程服务器问题,客户端再次连接时报错(跪求您的帮助) 函数的实现全在头文件里面 各位:用bmp.CreateBitmap(8,3,1,,1,bits);该如何保存它呢! 最好的VC++课本 文件操作 分不多了,以后再加!大哥,帮帮忙吧! 请问这个从串口接受的数据包如何处理?急用,请高手赐教 请问GUID怎么用呢?请大家帮忙! 我都急死了,到搜索引擎里搜到的好几个站点都不能用,到底哪儿可以当到3DMAX? 有关VXD问题?help!!!! 兄弟们帮帮忙,CriticalSection的问题 关于聊天室
麻烦点enumprocess或createtoolhelp32遍历进程表来找到指定的进程
#define targetFile "explorer.exe"
DWORD CInsertDlg::GetProcessId()//获取explorer.exe进程的ID
{
DWORD Pid=-1;
HANDLE hSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创建系统快照
PROCESSENTRY32 lPrs;
ZeroMemory(&lPrs,sizeof(lPrs));
lPrs.dwSize=sizeof(lPrs);
Process32First(hSnap,&lPrs);//取得系统快照里第一个进程信息
if (strstr(targetFile,lPrs.szExeFile))//判断进程信息是否是explorer.exe
{
Pid=lPrs.th32ProcessID;
return Pid;
} while(1)
{
ZeroMemory(&lPrs,sizeof(lPrs));
lPrs.dwSize=(&lPrs,sizeof(lPrs));
if (!Process32Next(hSnap,&lPrs))//继续枚举进程信息
{
Pid=-1;
break;
}
if (strstr(targetFile,lPrs.szExeFile))
{
Pid=lPrs.th32ProcessID;
break;
}
} return Pid;}
进程有关的信息都在下面这个结构里PROCESSENTRY32
Describes an entry from a list that enumerates the processes residing in the system address space when a snapshot was taken.typedef struct tagPROCESSENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID;
ULONG_PTR th32DefaultHeapID;
DWORD th32ModuleID;
DWORD cntThreads;
DWORD th32ParentProcessID;
LONG pcPriClassBase;
DWORD dwFlags;
TCHAR szExeFile[MAX_PATH];
} PROCESSENTRY32;
typedef PROCESSENTRY32 *PPROCESSENTRY32;
判断你的进程是否在其中!