?? findmain.pas
字號:
unit FindMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TlHelp32, ComCtrls;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//**************************************************
//通過查找進程和窗口來檢測DeDe
//**************************************************
//查找進程
function FindProcess():Boolean;
var
hSnap:THandle;
Process32:PROCESSENTRY32;
LoopFlag:BOOL;
szFileName:String;
ProcessID:integer;
begin
////得到所有進程的列表快照
hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if hSnap=INVALID_HANDLE_VALUE then
begin
Result:=False;
Exit;
end;
Process32.dwSize:=sizeof(PROCESSENTRY32);
//查找進程
LoopFlag:=Process32First(hSnap,Process32);
if LoopFlag=False then
begin
CloseHandle(hSnap);
Result:=False;
Exit;
end;
while Integer(LoopFlag)<>0 do
begin
//取進程名
szFileName:=ExtractFileName(Process32.szExeFile);
if UpperCase(szFileName)='DEDE.EXE' then
begin
ProcessID:=Process32.th32ProcessID;
//發現DeDe以后關閉它
TerminateProcess(OpenProcess(PROCESS_TERMINATE,False,ProcessID),1);
Result:=True;
break;
end
else
Result:=False;
LoopFlag:=Process32Next(hSnap,Process32);
end;
CloseHandle(hSnap);
end;
//查找類名
function FindClass():Boolean;
var
hWnd,hClose:THandle;
ProcessId:DWORD;
begin
hWnd:=FindWindow('TDeDeMainForm',nil);
if hWnd<>0 then
begin
//發現DeDe以后關閉它
GetWindowThreadProcessId(hWnd, ProcessId);
CloseHandle(hWnd);
hClose := OpenProcess(PROCESS_TERMINATE, False, ProcessId);
TerminateProcess(hClose, 0);
CloseHandle(hClose);
Result:=True;
end
else
Result:=False;
end;
//查找標題欄內容
function FindTitle():Boolean;
var
hWnd,hClose:THandle;
ProcessId:DWORD;
begin
hWnd:=FindWindow(nil,'DeDe');
if hWnd<>0 then
begin
//發現DeDe以后關閉它
GetWindowThreadProcessId(hWnd, ProcessId);
CloseHandle(hWnd);
hClose := OpenProcess(PROCESS_TERMINATE, False, ProcessId);
TerminateProcess(hClose, 0);
CloseHandle(hClose);
Result:=True;
end
else
Result:=False;
end;
//調用
procedure TForm1.FormCreate(Sender: TObject);
begin
FindProcess;
FindClass;
FindTitle;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -