关于强制关闭所有应用程序的问题。急!!!!!!!!(200分)

  • 主题发起人 主题发起人 oldstick
  • 开始时间 开始时间
O

oldstick

Unregistered / Unconfirmed
GUEST, unregistred user!
;强制关闭所有应用程序,并让这些程序关闭时没有提示框。
 
这个分我要了,下面是代码,我的程序用了一个button(button1),一个listbox(listbox1),
只有一个form(form1),程序把所有的进程找出来,然后在listbox1上显示,双击进程或者
点击按钮进程就关闭.
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,TLHelp32,
StdCtrls;

type

TProcessInfo=Record
ExeFile:String;
ProcessId:DWORD;
End;
ProcessInfo=^TProcessInfo;

TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure ProcessList(var PList:TList);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
Current:TList;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ProcessList(var pList:TList);
var p:ProcessInfo;
ok:Bool;
ProcessListHandle:THandle;
ProcessStruct:TProcessEntry32;
Begin
PList:=TList.Create;
PList.Clear;
ProcessListHandle:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
ProcessStruct.dwSize:=Sizeof(ProcessStruct);
ok:=Process32First(ProcessListHandle,ProcessStruct);
while Integer(ok)<>0 do Begin
new(p);
p.ExeFile:=ProcessStruct.szExeFile;
p.ProcessID:=ProcessStruct.th32ProcessID;
PList.Add(p);
ok:=Process32Next(ProcessListHandle,ProcessStruct);
End;
End;

procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
p:PRocessInfo;
begin
current:=TList.Create;
Current.Clear;
ListBox1.Clear;
ProcessList(Current);
for i:=0 to Current.Count-1 do Begin
new(p);
p:=Current.Items;
ListBox1.Items.Add(p.ExeFile);
End;
end;

procedure TForm1.Button1Click(Sender: TObject);
var h:THandle;
a:DWORD;
p:PRocessInfo;
begin
if ListBox1.ItemIndex>=0 then Begin
p:=Current.Items[ListBox1.ItemIndex];
h:=openProcess(Process_All_Access,true,p.ProcessID);
GetExitCodeProcess(h,a);
if Integer(TerminateProcess(h,a))<>0 then Begin
ListBox1.Clear;
FormCreate(Self);
End;
End;
end;

end.

不瞒你说,我经常用这个东东关闭一些不好关闭的进程.
 
;没意见。试一试,把分给他吧。
 
在99年《电脑爱好者》杂志 上有这样的程序
好象就是上面这个
我也用了,功能可以实现,就是列表框好象不能自动刷新,你得自己添加代码实现!!
 
来晚了,go on
 
哦?我的程序有人当例程?天啊,列表刷新都没有,也有人拿过来用?
 
TO xueminliu
能否区别系统进程还是用户进程?请再赐教!
另外请教:修改IP地址后,重新启动后,IP地址却变成自动设置。为什么,能解决吗?
谢谢!
 
多人接受答案了。
 
后退
顶部