如何限制同时只能打开一个?(10分)

  • 主题发起人 主题发起人 ll710815
  • 开始时间 开始时间
L

ll710815

Unregistered / Unconfirmed
GUEST, unregistred user!
如何能够实现一个程序同时只能打开一个,比方说,word文件可在一个窗口上可以打开
很多个,我不想这样?如何实现呢?
 
打开一个什么?如果是程序则可以用互斥体来防止
出现程序的多个拷贝,用CreateMutex;

var
; h:THANDLE;
{$R *.RES}
begin
; Application.Initialize;
; application.title:='kkkkk';//最好定义为自己的程序名称
; h:=createmutex(nil,false,'kkkkk');
; if getlasterror<>error_already_exists then
; begin
; ; Application.CreateForm(TForm1, Form1);
; ; Application.Run;
; end;
end.
 
防止一个程序同时只能打开一次!
 
建一个Mutex来互斥
procedure TForm1.FormCreate(Sender: TObject);
Var Ret:Integer;
begin
CreateMutex(nil,False,'aaaaaa');
Ret:=GetLastError;
; if Ret = ERROR_ALREADY_EXISTS Then begin
; ; ;Application.MessageBox('已经运行', '重复运行', MB_OK + MB_ICONEXCLAMATION);
; ; ;Application.Terminate;
; end;
end;
 
对不起,分数不多,谢了
 
后退
顶部