c++关闭程序代码

如题,就是关闭某些程序,比如QQ等。谢谢啦~... 如题,就是关闭某些程序,比如QQ等。谢谢啦~ 展开
 我来答
夺魂狼剑
推荐于2016-07-15 · TA获得超过1273个赞
知道小有建树答主
回答量:796
采纳率:0%
帮助的人:800万
展开全部
1楼的仁兄对API根本不了解,不懂就不要乱说哦~ API中是有终止进程的函数的,而且还不止一个,方法也很多。最简单的方法就是调用TerminateProcess函数。其他方法:比如强制卸载进程句柄、进程内存添添零、甚至可以注入进去,从内部生成一个异常,从而把进程挂掉…… API都实现不了、批处理怎么能实现?!明明是在开玩笑嘛!批处理内部本质上也要调用API的!

我十分赞同2楼仁兄的的代码,巧妙简洁。不过,如果给taskkill加参数/f会更好。呵呵~

下面是我的方法:(全部用API来实现,好让1楼的兄弟看看)
首先要获取QQ进程的PID,可以在任务管理器中看到,也可以用tasklist命令来得到。然后调用OpenProcess,最后一个参数添PID的值,该函数返回进程句柄。然后用返回的句柄作为参数来调用TerminateProcess就可以了。
具体代码如下:
int nPID = GetDlgItemInt(IDC_EDT_PID);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE, nPID);
TerminateProcess(hProcess, 0);
为了简单,我省略了出错处理代码,实际使用应加入错误处理程序。
上面的代码即可以用在MFC中,也可以用在SDK程序中。
pmsl_bmiv
2010-03-12 · TA获得超过172个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:159万
展开全部
提升当前进程的权限EnableDebugPrivilege(),然后枚举进程,再终止进程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-03-12
展开全部
简单的方法就是通过system()函数执行系统命令taskkill来结束程序:

#incldue <iostream>

using std::system;

int main(void)
{
system("taskkill /im qq.exe");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
poorcowboy
2010-03-12 · TA获得超过4291个赞
知道答主
回答量:281
采纳率:0%
帮助的人:170万
展开全部
应该是不能实现的,windows API中没有关闭其他程序的函数
只能通过批处理实现

参考资料: http://zhidao.baidu.com/question/135226704.html?si=1

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式