如何用C++实现对系统进程的控制?
最近跟同学做个小软件,涉及到对系统进程的控制。当程序运行到设定时间后,自动关闭进程,该怎么用C++实现呢??最好能给出代码,谢谢!!...
最近跟同学做个小软件,涉及到对系统进程的控制。当程序运行到设定时间后,自动关闭进程,该怎么用C++实现呢??最好能给出代码,谢谢!!
展开
3个回答
2013-12-10
展开全部
关闭进程,需要知道进程的一些信息,然后获得进程的句柄,然后关闭之。
下面是关闭QQ.exe的代码,可能需要一些头文件,自己编译时百度下。
感觉楼主是为了锻炼自己的能力,如果是,不推荐这种询问方式,没有效果。
可以通过自己查找资料,然后编写代码,这样才能在实践中得到最大的锻炼,如果只是为了写出这个软件而不是锻炼自己编程能力,则直接无视我的话。
void TaskKill(void)
{
void KillProgram(HANDLE hProcess);
HANDLE hProcess;
HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创建快照
PROCESSENTRY32 *info=new PROCESSENTRY32;
info->dwSize=sizeof(PROCESSENTRY32);
int i=0;
if(Process32First(handle,info))
{
do
{
hProcess=NULL;
if (strcmp(info->szExeFile,"QQ.exe")==0)
{
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE,info->th32ProcessID);
if (hProcess!=NULL)
{
TerminateProcess(hProcess, 0);
CloseHandle(hProcess);
}
}
i++;
}while(Process32Next(handle,info)!=FALSE);
}
CloseHandle(handle);//删除快照
delete info;
return;
}
下面是关闭QQ.exe的代码,可能需要一些头文件,自己编译时百度下。
感觉楼主是为了锻炼自己的能力,如果是,不推荐这种询问方式,没有效果。
可以通过自己查找资料,然后编写代码,这样才能在实践中得到最大的锻炼,如果只是为了写出这个软件而不是锻炼自己编程能力,则直接无视我的话。
void TaskKill(void)
{
void KillProgram(HANDLE hProcess);
HANDLE hProcess;
HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创建快照
PROCESSENTRY32 *info=new PROCESSENTRY32;
info->dwSize=sizeof(PROCESSENTRY32);
int i=0;
if(Process32First(handle,info))
{
do
{
hProcess=NULL;
if (strcmp(info->szExeFile,"QQ.exe")==0)
{
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE,info->th32ProcessID);
if (hProcess!=NULL)
{
TerminateProcess(hProcess, 0);
CloseHandle(hProcess);
}
}
i++;
}while(Process32Next(handle,info)!=FALSE);
}
CloseHandle(handle);//删除快照
delete info;
return;
}
2013-12-10
展开全部
加个timer,每秒动作一次,然后GetLocalTime判断时间是否与指定时间相等,如果相等就exit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-10
展开全部
楼上的真是无可挑剔 不错 很有意义 写的太好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询