admin 管理员组文章数量: 1184232
问题描述:
给定进程名,判断该进程是否正在运行。
参考代码:
#include <TlHelp32.h>
BOOL IsProcessRunning(LPCTSTR lpProcessName)
{
if (NULL == lpProcessName)
returnFALSE;
HANDLE hProcess = NULL;
HANDLE hProcessSnap = NULL;
PROCESSENTRY32 Info = {0};
hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
Info.dwSize = sizeof(PROCESSENTRY32);
if(::Process32First(hProcessSnap,&Info))
{
do
{
CString ss = Info.szExeFile;
DWORD dwVersion = GetVersion();
DWORD dwHigh = dwVersion & 0x80000000;
DWORD dwLow = dwVersion & 0x000000FF;
if((dwHigh == 0x80000000) && (dwLow == 4))
{
int iFind ;
if (( (iFind = ss.Find(lpProcessName)) != -1 )&&( (iFind = ss.Find(lpProcessName)) > 0 ))
{
if ((iFind + _tcslen(lpProcessName) == ss.GetLength())&&(ss[iFind-1] == _T('\\')))
{
CloseHandle(hProcessSnap);
hProcessSnap = INVALID_HANDLE_VALUE;
returnTRUE;
}
}
}
else
{
if(!ss.CompareNoCase(lpProcessName))
{
CloseHandle(hProcessSnap);
hProcessSnap = INVALID_HANDLE_VALUE;
returnTRUE;
}
}
}while(::Process32Next(hProcessSnap,&Info));
}
if ( hProcessSnap != INVALID_HANDLE_VALUE )
{
::CloseHandle(hProcessSnap);
hProcessSnap = INVALID_HANDLE_VALUE;
}
returnFALSE;
}
int _tmain(int argc, _TCHAR* argv[])
{
BOOL bRet = IsProcessRunning(L"kxescore.exe");
return0;
}版权声明:本文标题:如何轻松验证Adobe Flash Player进程是否在你的计算机上执行? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1773689923a3564837.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论