如何用c语言,或者其他语言关闭某个进程

作者&投稿:红冯 (若有异议请与网页底部的电邮联系)
怎么用C语言写一个关闭后台某进程的程序~

//kill进程from名字
BOOL KillProcessFromName(LPCSTR lpProcessName)
{
//创建进程快照(TH32CS_SNAPPROCESS表示创建所有进程的快照)
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//PROCESSENTRY32进程快照的结构体
PROCESSENTRY32 pe;
//实例化后使用Process32First获取第一个快照的进程前必做的初始化操作
pe.dwSize = sizeof(PROCESSENTRY32);

//下面的IF效果同:
//if(hProcessSnap == INVALID_HANDLE_VALUE) 无效的句柄
if(!Process32First(hSnapShot,&pe))
{
return FALSE;
}
CString strProcessName = lpProcessName;
//将字符串转换为小写
strProcessName.MakeLower();

//如果句柄有效 则一直获取下一个句柄循环下去
while (Process32Next(hSnapShot,&pe))
{
//pe.szExeFile获取当前进程的可执行文件名称
CString scTmp = pe.szExeFile;

//将可执行文件名称所有英文字母修改为小写
scTmp.MakeLower();
//比较当前进程的可执行文件名称和传递进来的文件名称是否相同
//相同的话Compare返回0
if(!scTmp.Compare(strProcessName))
{
//从快照进程中获取该进程的PID(即任务管理器中的PID)
DWORD dwProcessID = pe.th32ProcessID;
HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessID);
::TerminateProcess(hProcess,0);
CloseHandle(hProcess);
return TRUE;
}
scTmp.ReleaseBuffer();
}
strProcessName.ReleaseBuffer();
return FALSE;
}
以杀死qq程序为例,我们可以通过下列方式:
KillProcessFromName("qq.exe");

可以通过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就可以了
延迟启动需要创建服务启动关联,使用sc 创建关联,然后服务关闭,要看服务的参数了,一般都会设置关闭参数,找到使用就可以了,等待时间,sleep一下

win7 可以用计划任务

可以使用批处理命令 taskkill


计算机C语言有什么用啊??
用处:C语言是一种计算机程序设计语言。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。特征:1、C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算...

c语言有什么用
c语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。从市面上有关c语言的书籍和高等院校采用的教材来看,它们有一个共性,那就是:脱离了实际应用(全是小打小闹的小例子),纯粹的过程性程序设计,没有软件...

C语言是什么? 要怎么编 ? 用什么编?
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。常用的C语言IDE(集成开发环境)有Microsoft Visual ...

c语言操作文本的基本使用方法
“起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。其表示方法如下表。c语言操作文本的基本使用方法1 起始点表示符号数字表示 文件首SEEK_SET0 当前位置SEEK_CUR1 文件末尾SEEK_END2 例如:fseek(fp,100L,0);其意义是把位置指针移到离文件首100个字节处。还要说...

什么是C语言
C语言,作为一门高级计算机编程语言,旨在提供一种简单易编译、低级内存操作能力强、产生少量机器码且无需运行环境支持的编程工具。它与汇编语言高度兼容,无论在何种操作系统环境下,C语言与汇编语言的子过程接口都能无缝对接。C语言的特性体现在其简洁灵活的语法、丰富的运算符和数据类型,以及对硬件底层...

如何用c语言编一个成绩查询系统?
如果你是要做一个非常专业的商业软件,这个其实不太适合用C语言来编写。你可以考虑其他高级语言如java,c#,etc.如果你仅仅是想在功能上实现成绩查询,而且数据量不是那种特别大,比如千万,上亿级别的,用C语言以二进制文件读写的方式完全可以轻松实现。下面说说大概的思路:1.你可以定义一个结构体来描述...

c语言中void什么意思?具体怎么用?
在C语言中,`void` 主要用于两种情况:函数的返回类型和指针类型。详细解释:1. `void` 作为函数的返回类型:当函数不需要返回任何值时,其返回类型通常为 `void`。例如:c void printMessage { printf;} 在这个例子中,函数 `printMessage` 执行完其任务后不会返回任何值。使用 `void` 作为返回...

学C语言有什么用啊?
“项目驱动式”教学就是以项目为目的,以c语言理论教学为过程,最终能用c语言设计项目,实现项目的要求。“项目驱动式”教学的关键在于培养学生“如何做什么”和“可以干什么”。一个项目就是一个工程,在“项目驱动式”教学中,首先应该让学生简单了解什么是软件工程思想,其次在c语言理论教学过程中,让学生懂得面向对象...

C语言能做什么?与C++有何区别?它们主要应用在哪些地方?
C和C + +的区别 C是一种结构化语言,如谭父说:“它集中在算法和数据结构。 C程序设计的首要考虑的运算处理,通过一个过程,输入(或环境条件),得到输出(或实现过程控制(交易)),而对于C + +,首要考虑的是如何构造一个对象模型,该模型能够适应相应的问题域,这样您就可以获取状态信息输出或过程控制(交易)。

如何用C语言或者C++查看一个acsii码文本文件的大小?
你可以用程序open文件,用fgetc读文件,比较读入的byte个数。用二进制打开。FILE *fin;int c,N=0,N2=0;char filename1[32]="a.txt";char filename2[32]="a.dat";if ( (fin = fopen(filename1,"rb") ) == NULL ) { printf("\\007Cann't open input file %s\\n",filename1);...

禹会区19867198494: 如何用c语言,或者其他语言关闭某个进程 -
止壮卵磷: 可以使用黑窗口处理 如果硬要使用C语言,你使用system就可以了 延迟启动需要创建服务启动关联,使用sc 创建关联,然后服务关闭,要看服务的参数了,一般都会设置关闭参数,找到使用就可以了,等待时间,sleep一下

禹会区19867198494: 怎么用C语言结束一个进程?求代码 -
止壮卵磷: 基本思路: 1. 用Process32First+Process32Next枚举所有进程. 2. 对枚举的进程取程序名,比较是不是要关掉的程序. 3. 如是,调用TerminateProcess()结束它. 有的程序一启动就不止一个进程,所以即使关掉一个,也继续枚举.用法例...

禹会区19867198494: C语言如何通过代码使程序退出 -
止壮卵磷: 因为你的程序没有设置暂停,运行完了之后,就自动关闭.可以在程序最后加上getchar();或者 system(pause);实现程序暂停的效果.

禹会区19867198494: 用C语言如何关闭浏览器的某个网页? -
止壮卵磷: 如果只是关闭某个网页的话,只能枚举当前窗口标题,符合你想要关闭的网页标题就给它发送关闭消息,只是用c语言的话有点困难,需要用到系统API

禹会区19867198494: c语言怎么关闭正在运行的应用程序
止壮卵磷: 你知道有一个头文件叫做stdlib.h吧,那里面有一个函数叫System(char*) 就是用来运行dos命令的.比如你要关qq这句就可以了(貌似需要xp以上windows) System("taskkill -f -im qq.exe");

禹会区19867198494: c语言怎么关闭正在运行的应用程序 -
止壮卵磷: 可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序.如 system("taskkill /im notepad.exe"); 会关闭记事本应用.system("taskkill \F /pid 1234 \T"); 会强制结束pid为1234的进程及其子进程.关于taskkill的详细描述如下...

禹会区19867198494: 怎么用c语言结束某进程? -
止壮卵磷: 首先你要知道该进程的PID如果在windows下可以用tskill PID命令来实现,如果是c语言,只需要用system函数就可以实现 #include "stdio.h"#include "stdlib.h" int main() { system("tskill XXXX"); return 0; }其中XXXX就是你需要传入的进程的PID如果是linux或者unix的系统则用kill命令: #include "stdio.h"#include "stdlib.h" int main() { system("kill XXXX"); return 0; }XXX一样是进程的PID

禹会区19867198494: C语言中如何实现按任意键退出 -
止壮卵磷: C语言中可以使用函数system()、getch()实现按键退出. 1、直接调用系统函数 system(“pause”): system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用...

禹会区19867198494: c语言运行结束后选择性关闭程序或者继续使用的程序怎么写 -
止壮卵磷: #include <stdio.h>int main(void) {char c;do{printf("input 'q' to quit\n");scanf(" %c",&c);}while(c!='q');return 0; }

禹会区19867198494: 请各位c或c++高手给写个程序,定时关闭程序的 -
止壮卵磷: 1.关闭某个程序:taskkill /f /im iexplore.exe 将此命令保存在一个bat文件中,例如test.bat,进程名改为你的进程名.2.使用at命令实现定时控制:例如晚上9点:at 21:00 test.bat 通过以上两步就可以实现 执行在规定的时间内关闭某个程序

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网