c语言怎么关闭正在运行的应用程序
可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序。
如
system(“taskkill /im notepad.exe”);
会关闭记事本应用。
system(“taskkill \F /pid 1234 \T”);
会强制结束pid为1234的进程及其子进程。
关于taskkill的详细描述如下:
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
参数列表:
/S system 指定要连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文
执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/F 指定要强行终止的进程。
/FI filter 指定筛选进或筛选出查询的的任务。
/PID process id 指定要终止的进程的PID。
/IM image name 指定要终止的进程的图像名。通配符 ‘*’可用来指定所有图像名。
/T Tree kill: 终止指定的进程和任何由此启动的子进程。
/? 显示帮助/用法。
筛选器:
筛选器名 有效运算符 有效值
———– ————— ————–
STATUS eq, ne 运行 | 没有响应
IMAGENAME eq, ne 图像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
hh:mm:ss。
hh – 时,
mm – 钟,ss – 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB
USERNAME eq, ne 用户名,格式为
[domain\]user
MODULES eq, ne DLL 名
SERVICES eq, ne 服务名
WINDOWTITLE eq, ne 窗口标题
注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 ‘*’。
注意: 远程进程总是要强行终止,
不管是否指定了 /F 选项。
C语言中system(“taskkill/im …”)后面为什么不能用个变量?
可以使用变量。
C语言中的system函数,是执行系统命令的接口。声明于stdlib.h,形式为
int system(char *cmd);
该函数执行时,会执行系统shell的指令,与在命令行直接键入cmd的内容是相同的。
这个函数对参数是否为变量并没有要求,事实上,在C语言中,没有任何一个函数要求参数必须为常量,每个函数的参数均可以是变量。
当前的taskkill /im xxxx命令
作用为强制结束名字为xxxx的进程。如果存在两个进程名字分别为taska和taskb,那么用变量形式结束进程可以写作:
int flag;
//一些其它的操作,对flag进行赋值,真或者假。
char cmd[100];//容纳cmd的字符串变量。
if(flag)
sprintf(cmd, “taskkill /im %s”, “taska”);//cmd的结果为”taskkill /im taska”.
else
sprintf(cmd, “taskkill /im %s”, “taskb”);//cmd的结果为”taskkill /im taskb”.
system(cmd);//通过变量,调用system。
c语言中怎样用代码结束一个程序
结束自身,用exit(0);
结束其它的
你需要查找到该程序的进程名后者进程号
然后用system调用系统的taskkill
具体命令语法,在命令行输入taskkill /? 或者百度。