DELPHI 如何让程序只能运行一次
要尽量简单一些的方法,因为我初学DELPHI。现在我有个小软件,可以运行很多个出来,我想让程序只能运行一个实例,如果程序已经打开,程序自动提示无法运行。...
要尽量简单一些的方法,因为我初学DELPHI。
现在我有个小软件,可以运行很多个出来,我想让程序只能运行一个实例,如果程序已经打开,程序自动提示无法运行。 展开
现在我有个小软件,可以运行很多个出来,我想让程序只能运行一个实例,如果程序已经打开,程序自动提示无法运行。 展开
1个回答
展开全部
在你的程序的主FORM 的 FORMCREATE 事件里面添加如下的代码:
procedure 主FORM.FormCreate(Sender: TObject);
var
errno:integer;
hmutex:hwnd;
begin
hmutex:=createmutex(nil,false,pchar(application.Title));
errno:=getlasterror;
if errno=error_already_exists then
begin
ShowMessage('程序已经在运行了');
Application.Terminate;
end;
//....这是你原来的代码继续下去
procedure 主FORM.FormCreate(Sender: TObject);
var
errno:integer;
hmutex:hwnd;
begin
hmutex:=createmutex(nil,false,pchar(application.Title));
errno:=getlasterror;
if errno=error_already_exists then
begin
ShowMessage('程序已经在运行了');
Application.Terminate;
end;
//....这是你原来的代码继续下去
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询