相信大家对Windows的任务管理器都非常熟了,其实关闭其它程序这种技术要在
Delphi中实现起来一点都不难。下面我就向大家介绍,具体步骤如下:
1.我们只需要在新建的窗口中放置一个编辑框控件(TEdit)和一个按钮控件(Tbutton)就可以了。编辑框主要用途是让用户输入程序的名称,按下按钮 后程序就会按照编辑框所给的程序名关闭相应的程序。
2.窗体模样设计好后,我们在代码窗口中的单元接口部份加入tlhelp32单元,因为我们一会儿用到的函数除Terminateprocess和Openprocess是封装在Windows单元外,其余都是封装在Tlhelp32单元中,所以要确保加入对该单元的引用:
uses
Windows Messages SysUtils Classes Graphics Controls Forms Dialogs StdCtrls tlhelp32;
3.加入这个单元后我们就可以开始进行代码编写了。双击窗体上的按钮控件Button1,在代码窗口中输入以下代码:
procedure TForm1.Button1Click Sender TObject
const
PROCESS_TERMINATE=$0002
//进程的PROCESS_TERMINATE访问权限。
var
co boolean
fs thandle
fp tprocessentry32
begin
fs =createtoolhelp32snapshot th32cs_snapprocess 0
//获取系统的所有进程快照.
fp.dwsize =sizeof?fp
//调用函数process32first前用sizeof fp填充.
co =process32first fs fp
//获取快照中第一个进程信息并保存到fp结构体中。
while integer co <>0 do
begin
//循环枚举快快照中所有进程信息。
co =process32next fs fp
if extractfilename fp.szExeFile =edit1.text then
terminateprocess?openprocess?PROCESS_TERMINATE bool 1?fp.th32ProcessID 0 //如果和编辑框里的名称一样名就中止进程。
end
说明:在本程序中简单地利用了系统快照来中止进程,思路很简单。而事实上只要我们稍作修改就可以列出系统中的所有进程信息。