cyberfan's blog

正其谊不谋其利,明其道不计其功

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  15 随笔 :: 489 文章 :: 44 评论 :: 0 Trackbacks
熟悉Delphi的朋友都知道,用Delphi编写的程序如果不加任何控制,编译出来的EXE程序可以多个同时运行。如果在程序中加入下列代码就可解决这一问题:

.......

public

aa:word;

.......

procedure TForm1.FormCreate(Sender: TObject);

begin

//搜索系统数据库看程序是否正在运行

if GlobalFindAtom('Project1') =0 then // Project1为EXE文件名

//假如没有找到该EXE文件,就把此EXE文件名添加到系统数据库

aa := GlobalAddAtom(' Project1')

else

begin //如果该程序已经运行,显示信息并退出程序

MessageDlg('该程序正在运行!', mtWarning, [mbOK], 0);

Halt;

end;

end;

.......

procedure TForm1.FormDestroy(Sender: TObject);

begin

{ 退出程序时,从数据表中删除添加的文件名 }

GlobalDeleteAtom(aa);

end;
posted on 2005-08-12 15:57 cyberfan 阅读(255) 评论(0)  编辑 收藏 引用 所属分类: delphi
只有注册用户登录后才能发表评论。