如何保证应用程序同一时间内只能运行一个实例?(50分)

  • 主题发起人 主题发起人 ningliu
  • 开始时间 开始时间
N

ningliu

Unregistered / Unconfirmed
GUEST, unregistred user!
就是这个程序运行时,不能再运行另一个本应用程序的实例
 
var
hMutex:HWND;
Ret:Integer;
begin
Application.Initialize;
Application.Title := 'aaaaaa';
hMutex:=CreateMutex(nil,False,'aaaaaa');
Ret:=GetLastError;
If Ret<>ERROR_ALREADY_EXISTS Then
Begin
Application.CreateForm(TForm1, Form1);
Application.Run;
End
Else
Application.MessageBox('Run Twice!','Notes!',MB_OK);
ReleaseMutex(hMutex);
end.
 
用控件,LMD,AHM,RXLib中都有,放上去就得,多方便啊。
 
将你的工程文件写成下面格式即可。
program Project1;
uses
Forms,Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
// Project1是你的应用程序的文件名
if findwindow('TApplication','Project1')<>0 then Halt;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
 
还有现在的控件,要吗?
xxz007@yeah.net
请注明什么控件
 
多人接受答案了。
 
后退
顶部