使用线程,列举进程,杀QQ

本文介绍了在Delphi中定义线程类的方法及如何使用TThread进行UI更新操作,同时还展示了如何枚举进程并终止指定进程(如QQ)的具体实现。
1,定义一个线程类与定义一个普通类没什么区别,只是把主类设为TThead
TThread类定义在class单元中
---------------------------------------
2,一个自定义线程类必须定义Execute过程这个过程为Override,需要线程去做的事情
全部写在这个方法里
---------------------------------------------
例如:
type TMyThread = class(TThread)
     private
     protected
     procedure Execute;override;
     public
end;
-------------------------------------
{ TMyThread }
var
  i : Integer;
procedure TMyThread.Execute;
begin
  inherited;
  FreeOnTerminate := True; //如果线程终止就释放线程所占用的资源
  for i := 0 to 10000 do begin
     Form1.Caption := IntToStr(i);
  end;
end;
-------------例举进程并杀QQ(Uses TLHelp32)------------
var
  ProcessName : string;
  ProcessID : DWORD;
  SnapShotHandle : THandle;
  ProcessEnter : TProcessEntry32;
  Loop : Boolean;
begin
  SnapShotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  ProcessEnter.dwSize := Sizeof(ProcessEnter);
  Loop := Process32First(SnapShotHandle,ProcessEnter);
  while Loop do begin
        ProcessName := ProcessEnter.szExeFile;
        ProcessID := ProcessEnter.th32ProcessID;
        Memo1.Lines.Add(ProcessName + '  ' + IntToStr(ProcessID));
        //-----杀QQ-----------------
        if ProcessName = 'QQ.exe' then begin
          TerminateProcess(OpenProcess(PROCESS_TERMINATE,True,ProcessID),0);
          Memo1.Lines.Add('----------------------');
          Memo1.Lines.Add('Exit QQ');
          Memo1.Lines.Add('----------------------');
        end;
        Loop := Process32Next(SnapShotHandle,ProcessEnter)
  end;
end;

转载于:https://www.cnblogs.com/28088191/archive/2010/12/31/1922637.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值