var mHandle, fHandle: THandle;{$R *.res}begin Application.Initialize; mHandle := Windows.CreateMutex(nil, true, 'AdKiller'); if mHandle <> 0 then begin if GetLastError = Windows.ERROR_ALREADY_EXISTS then begin fHandle := FindWindow('TfrmAdKiller', nil); begin ShowWindow(fHandle, SW_RESTORE); SetForeGroundWindow(fHandle); end; Windows.ReleaseMutex(mHandle); Halt; end; end; Application.CreateForm(TfrmAdKiller, frmAdKiller); Application.Run; end.
呵呵 同意 weizi2000(秋风啊)的 ,我们以前有个系统就是这么来避免二次运行的。
这个太简单啦首先在implementation后加个var ************** implementation var change:string; procedure TForm1.FormActivate(Sender: TObject); begin if change='Y' then begin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; // 你的程序的代码 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx ; // change='Y' end; 这样就OK了
写错了点东西,少了个冒号。太久没写pascal了首先在implementation后加个var ************** implementation var change:string; procedure TForm1.FormActivate(Sender: TObject); begin if change='Y' then begin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; // 你的程序的代码 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx ; // change:='Y'; end;
if hprevinst <> 0 then application.terminate;
mHandle, fHandle: THandle;{$R *.res}begin
Application.Initialize;
mHandle := Windows.CreateMutex(nil, true, 'AdKiller');
if mHandle <> 0 then
begin
if GetLastError = Windows.ERROR_ALREADY_EXISTS then
begin
fHandle := FindWindow('TfrmAdKiller', nil);
begin
ShowWindow(fHandle, SW_RESTORE);
SetForeGroundWindow(fHandle);
end;
Windows.ReleaseMutex(mHandle);
Halt;
end;
end; Application.CreateForm(TfrmAdKiller, frmAdKiller);
Application.Run;
end.
同意 weizi2000(秋风啊)的 ,我们以前有个系统就是这么来避免二次运行的。
**************
implementation var change:string;
procedure TForm1.FormActivate(Sender: TObject);
begin
if change='Y' then begin
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; // 你的程序的代码
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx ; // change='Y'
end;
这样就OK了
**************
implementation var change:string;
procedure TForm1.FormActivate(Sender: TObject);
begin
if change='Y' then begin
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; // 你的程序的代码
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx ; // change:='Y';
end;