MFC在程序中判断窗口是否已经运行
答案:2 悬赏:20 手机版
解决时间 2021-05-13 03:50
- 提问者网友:暮烟疏雨之际
- 2021-05-12 04:19
MFC在程序中判断本身窗口是否已经运行(也就是说程序是否是运行状态)
最佳答案
- 五星知识达人网友:走死在岁月里
- 2021-05-12 04:56
给你个函数:
BOOL IsStart(CString strCurProcessName)
{
//得到本进程的ID号
DWORD dCurProcessID = GetCurrentProcessId();
HANDLE hSnapShot = NULL;
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hSnapShot == NULL)
{
return FALSE;
}
PROCESSENTRY32 processinfo;
processinfo.dwSize = sizeof(PROCESSENTRY32);
BOOL status = Process32First(hSnapShot,&processinfo);
while(status)
{ if(strcmp(processinfo.szExeFile,strCurProcessName) == 0 && \
processinfo.th32ProcessID != dCurProcessID )
{
//说明已经启动了此进程
return TRUE;
} status = Process32Next(hSnapShot,&processinfo);
}
return FALSE;
}
把程序名作为实参传入,然后用这个函数就可以进行判断了!
BOOL IsStart(CString strCurProcessName)
{
//得到本进程的ID号
DWORD dCurProcessID = GetCurrentProcessId();
HANDLE hSnapShot = NULL;
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hSnapShot == NULL)
{
return FALSE;
}
PROCESSENTRY32 processinfo;
processinfo.dwSize = sizeof(PROCESSENTRY32);
BOOL status = Process32First(hSnapShot,&processinfo);
while(status)
{ if(strcmp(processinfo.szExeFile,strCurProcessName) == 0 && \
processinfo.th32ProcessID != dCurProcessID )
{
//说明已经启动了此进程
return TRUE;
} status = Process32Next(hSnapShot,&processinfo);
}
return FALSE;
}
把程序名作为实参传入,然后用这个函数就可以进行判断了!
全部回答
- 1楼网友:零点过十分
- 2021-05-12 05:54
主函数HINSTANCE hPrevInstance不为NULL。
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { // call shared/exported WinMain return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow); } 即hPrevInstance不为NULL
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯