准备做一个定时强行关闭应用程序的小程序 因为最近疯狂地打quake3、rtcw,所以经常闹到凌晨3、4点钟,严重影响了我的生活,所以想做一个程序克制自己。但是临到做时脑里一片茫然,,,老了:(还是说正题吧,强行关闭一个程序有什么好办法,我想是先应该找到进程id吧? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是呀,呵呵,先定时,可以用取系统时间的办法呀,到了指定时间就调用关进程的程序。关程序嘛:..... HANDLE hProcssSnap=NULL; PROCESSENTRY32 pe32 ={0}; hProcssSnap=(HANDLE) CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); pe32.dwSize=sizeof(PROCESSENTRY32);Process32First(hProcssSnap,&pe32); do{ if(strstr(pe32.szExeFile,“要关的进程”)) { if(TerminateProcess(OpenProcess(0,FALSE,pe32.th32ProcessID),0)) MessageBox("中止成功","提示"); else MessageBox("中止失败","提示"); break; } } while (Process32Next(hProcssSnap,&pe32)); CloseHandle(hProcssSnap);....... 做一个定时器;做一个关机程序(ExitWindows并关闭电源). 进程id会发生变化,我觉得你应该找“映像名称”才对“映像名称”就是程序的可执行文件的名称楼上的if(strstr(pe32.szExeFile,“要关的进程”))中的“要关的进程”直接改成可执行文件的名称应该就可以了。 1.写一个关机程序,其中调用ExitWindowsEx(EWX_POWEROFF,0);2.设定计划任务;OK。 哈,告诉我一声嘛,我是供电局的,,,不要UPS啊,,,, 关键还是自己,,,,, 一个简单的方法:(肯定不是最好的)可以先用spy++找出那些程序的主窗口类名 ,作个列表出来 .要关闭的时候,用FindWindow()找出窗口句柄 ,发个消息过去就行了 哈哈楼顶的老兄跟我一样,不过玩的游戏不同而已!如果只是要提醒自己的话,只要一到时间不断弹出系统模式框不断切换焦点即可,这样玩起来也没兴趣了.要注册为系统服务,不然玩兴正浓时舍不得关机睡觉,会Ctrl+alt+del终止的.我写过类似的程序,但是,...,唉,没有用的...最最关键的靠毅力!!用毅力克制自己!! 中止成功,但要改一个地方将 if(TerminateProcess(OpenProcess(0,FALSE,pe32.th32ProcessID),0))改成 if(TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID),0))否则是不会成功的 <<C++程序设计语言>> ADO异常:未知错误 ATL COM远程更新注册 WIN32 SDK 不注册窗口类,程序怎样取得系统消息? ~~~~~~~~~~~~请问写dll如何输出一个类啊,头文件该怎么写啊,动态调用dll咋整的??? IME 输入法的一个问题,多谢达人 installshield 制作的安装向导的问题 如何将VC中time_t类数据转化 哪位兄弟知道比较高效的压缩算法?谢谢~ 连接数据库出错了:< 各位兄弟进来看看,一个有关刷新闪烁的问题! 请教怎么用链表实现约瑟夫环?急用!!
关程序嘛:.....
HANDLE hProcssSnap=NULL;
PROCESSENTRY32 pe32 ={0};
hProcssSnap=(HANDLE) CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe32.dwSize=sizeof(PROCESSENTRY32);
Process32First(hProcssSnap,&pe32);
do{
if(strstr(pe32.szExeFile,“要关的进程”))
{
if(TerminateProcess(OpenProcess(0,FALSE,pe32.th32ProcessID),0))
MessageBox("中止成功","提示");
else MessageBox("中止失败","提示");
break;
}
} while (Process32Next(hProcssSnap,&pe32));
CloseHandle(hProcssSnap);
.......
“映像名称”就是程序的可执行文件的名称
楼上的if(strstr(pe32.szExeFile,“要关的进程”))
中的“要关的进程”直接改成可执行文件的名称应该就可以了。
2.设定计划任务;OK。
关键还是自己,,,,,
可以先用spy++找出那些程序的主窗口类名 ,作个列表出来 .要关闭的时候,用FindWindow()找出窗口句柄 ,发个消息过去就行了
如果只是要提醒自己的话,只要一到时间不断弹出系统模式框不断切换焦点即可,这样玩起来也没兴趣了.要注册为系统服务,不然玩兴正浓时舍不得关机睡觉,会Ctrl+alt+del终止的.
我写过类似的程序,但是,...,唉,没有用的...最最关键的靠毅力!!用毅力克制自己!!
改成 if(TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID),0))否则是不会成功的