怎么判断一个程序是否在运行
2017-04-01 11:12
381 查看
方法一:
通过窗体名称检测程序是否在运行
方法二:
检测一个进程
通过窗体名称检测程序是否在运行
//定义程序窗体名称为“左前相机--当前用户:admin” if (FindWindow(NULL, _T("左前相机--当前用户:admin"))) AfxMessageBox(_T("左前相机已经打开")); else { //打开此窗体名称对应的程序 ShellExecute(NULL, _T("open"), _T("D:\\Program Files\\GxAVI_left1.exe"), NULL, NULL, SW_SHOWNORMAL); }
方法二:
检测一个进程
#include <windows.h> #include <stdio.h> #include <tchar.h> void _tmain(int argc, TCHAR *argv[]) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory(&pi, sizeof(pi)); //程序路径 TCHAR szApp[] = _T("StorageRecycler.exe");//待检测程序 // 启动程序. if (!CreateProcess(NULL, // No module name (use command line) szApp, // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE 0, // use CREATE_NO_WINDOW to hide window NULL, // Use parent's environment block NULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure &pi) // Pointer to PROCESS_INFORMATION structure ) { printf("CreateProcess failed (%d).\n", GetLastError()); return; } DWORD dwExitCode = 0; do { GetExitCodeProcess(pi.hProcess, &dwExitCode); if (dwExitCode == STILL_ACTIVE) { printf_s("process is running\n"); Sleep(1000); } } while (dwExitCode == STILL_ACTIVE); printf_s("process is exit\n"); // 阻塞等待进程结束 //WaitForSingleObject(pi.hProcess, INFINITE); // Close process and thread handles. //CloseHandle(pi.hProcess); //CloseHandle(pi.hThread); }
相关文章推荐
- windows下怎么判断一个程序是否卡死了?例如:导入oracle的pde文件时,进度条不走了,怎么判断还在进行输入导入?
- Delphi 中实现判断某个外部程序是否运行(如果运行则执行一个命令否则执行一个命令)
- WinForm判断程序是否已经在运行,且只允许运行一个实例
- java判断一个程序是否已经运行
- 怎么判断一个程序正在运行,不能让程序重复启动
- 怎么判断一个ASP.NET的程序是否三层架构
- C# WINFORM判断程序是否运行,且只能运行一个实例
- 怎么判断一个ASP.NET的程序是否三层架构
- C# WinForm 判断程序是否已经在运行,且只允许运行一个实例,附源码
- C# WINFORM判断程序是否运行,且只能运行一个实例
- 通过脚本判断一个程序是否在运行
- VB程序怎么判断另一个程序是否正在运行?
- 实际工作中怎么判断一个程序或模块是否能够工作
- C# WINFORM判断程序是否运行,且只能运行一个实例
- C# WINFORM判断程序是否运行,且只能运行一个实例(转)
- C# WinForm 判断程序是否已经在运行,且只允许运行一个实例,附源码
- C# WINFORM判断程序是否运行,且只能运行一个实例
- winform 判断程序是否已经运行,提示“只允许运行一个程序”
- 如果一个进程出了问题,怎么判断它是否运行?能不能重启这个进程?尝试使用守护进程来操作
- C# WINFORM判断程序是否运行,且只能运行一个实例