求进程监视程序!! 程序服务器端进程总是崩溃,所以我想弄个监视程序,一旦他不在了,就启动。谁有进程监视程序呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主看看这个,符合你的要求么?int MyWatch(char * thread_name){ PROCESSENTRY32 pe32; char * mychar; BOOL bstart=TRUE; HANDLE hProcessSnap; while(1) { pe32.dwSize=sizeof(pe32); hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hProcessSnap==INVALID_HANDLE_VALUE) { printf("CreateToolhelp32Snapshot调用失败!\n"); return -1; } //遍历进程快照。轮流显示每个进程的信息 bstart = TRUE; BOOL bMore=::Process32First(hProcessSnap,&pe32); while(bMore) { USES_CONVERSION; //启用宏命令标记 mychar = W2A(pe32.szExeFile); if(0==strcmp(thread_name,mychar)) //比较你的进程名字是否相同,判断是否进程在启动 { printf("你的程序在运行!"); bstart = FALSE; break; }// printf("进程名称:%s\n",W2A(pe32.szExeFile));// printf("进程ID号:%u\n\n",pe32.th32ProcessID); bMore=::Process32Next(hProcessSnap,&pe32); } if(bstart) { ShellExecute(0, _T("open"), _T("D:\\result.txt"),NULL,NULL,SW_SHOWNORMAL); //启动你要的exe文件,D:\\result.txt是我自己的测试 } Sleep(5000);//5秒监测一次 } //清除snapshot对象 ::CloseHandle(hProcessSnap); return 0;} 父进程以外退出,如何关闭子进程? 又来打扰大家了 如何获取头一天日期 句柄映射辅助类 工具栏上的按钮一直是灰的 有谁说的清楚updatedata()函数的作用 最简单的问题 如何用adodc控件删除数据源中的一条记录 如何用鼠标在一幅图上选定多个区域??? 菜鸟的问题:怎么将一个ComboBox中已有的选择项全部清除? MFC对话框编程中对话框背景图片比较大屏幕分辨率比较小控件不能完全显示怎么办? odbc访问access数据库 cdatabase类对象的定义
int MyWatch(char * thread_name)
{
PROCESSENTRY32 pe32;
char * mychar;
BOOL bstart=TRUE;
HANDLE hProcessSnap;
while(1)
{
pe32.dwSize=sizeof(pe32);
hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot调用失败!\n");
return -1;
}
//遍历进程快照。轮流显示每个进程的信息
bstart = TRUE;
BOOL bMore=::Process32First(hProcessSnap,&pe32);
while(bMore)
{
USES_CONVERSION; //启用宏命令标记
mychar = W2A(pe32.szExeFile);
if(0==strcmp(thread_name,mychar)) //比较你的进程名字是否相同,判断是否进程在启动
{
printf("你的程序在运行!");
bstart = FALSE;
break;
}
// printf("进程名称:%s\n",W2A(pe32.szExeFile));
// printf("进程ID号:%u\n\n",pe32.th32ProcessID);
bMore=::Process32Next(hProcessSnap,&pe32);
} if(bstart)
{
ShellExecute(0, _T("open"), _T("D:\\result.txt"),NULL,NULL,SW_SHOWNORMAL); //启动你要的exe文件,D:\\result.txt是我自己的测试
}
Sleep(5000);//5秒监测一次 }
//清除snapshot对象
::CloseHandle(hProcessSnap); return 0;
}