delphi 只运行一个程序
来源:互联网 发布:防火墙如何开启403端口 编辑:程序博客网 时间:2024/05/02 01:14
举个例子
让程序只运行一个实例(Delphi篇)
-------------------------------------------
全局原子法
可以利用向系统添加全局原子的方法,来防止多个程序实例的运行。全局原子由Windows 系统负责维持,它能保证其中的每个原子都是唯一的,管理其引用计数,并且当该全局原子的引用计数为0时,从内存中清除。我们用GlobalAddAtom 函数向全局原子添加一个255个字节以内的字符串,用GlobalFindAtom来检查是否已经存在该全局原子,最后在程序结束时用GlobalDeleteAtom函数删除添加的全局原子。示例如下:
Uses Windows
const iAtom=‘SingleApp’;
begin
if GlobalFindAtom(iAtom)=0 then
begin
GlobalAddAtom(iAtom);
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.Run;
GlobalDeleteAtom(GlobalFindAtom(iAtom));
end
else
MessageBox(0,‘You can not run a second copy of this App’,‘’,mb_OK);
end.
利用全局原子的引用计数规则,我们还可以判断当前共运行了该程序的多少个实例:
var i:Integer;
begin
I:=0;
while GlobalFindAtom(iAtom)<>0 do
begin
GlobalDeleteAtom(GlobalFindAtom(iAtom));
i:=i+1;
end;
ShowMessage(IntToStr(I));
end;
以上几种方法在笔者的Delphi 4.0,中文Windows95下通过。
让程序只运行一个实例(Delphi篇)
-------------------------------------------
全局原子法
Uses Windows
const iAtom=‘SingleApp’;
begin
if GlobalFindAtom(iAtom)=0 then
begin
GlobalAddAtom(iAtom);
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.Run;
GlobalDeleteAtom(GlobalFindAtom(iAtom));
end
else
MessageBox(0,‘You can not run a second copy of this App’,‘’,mb_OK);
end.
利用全局原子的引用计数规则,我们还可以判断当前共运行了该程序的多少个实例:
var i:Integer;
begin
I:=0;
while GlobalFindAtom(iAtom)<>0 do
begin
GlobalDeleteAtom(GlobalFindAtom(iAtom));
i:=i+1;
end;
ShowMessage(IntToStr(I));
end;
以上几种方法在笔者的Delphi 4.0,中文Windows95下通过。
- delphi 只运行一个程序
- 保证程序只运行一个实例(delphi)
- 让Delphi程序只运行一个实例
- 确保一个程序只运行一个实例(BCB,Delphi)
- 确保一个程序只运行一个实例(BCB,Delphi)
- 让程序只运行一个实例(Delphi篇)
- 让程序只运行一个实例(Delphi篇)
- 让程序只运行一个实例(Delphi篇)
- Delphi----怎样保证程序只运行一个实例
- Delphi----怎样保证程序只运行一个实例
- Delphi 只运行一个实例
- 只运行一个程序
- 让程序只运行一次(Delphi)
- Delphi 让程序只运行一次
- 只运行一个程序实例
- 只运行一个实例程序
- 程序只运行一个实例
- 只运行一个程序实例
- 发些今年的作品:网络斗地主
- 想清楚干点什么,比怎么干更重要--Leo读《不是孙振耀写的职场感言》(2)
- 8.01
- jxta学习笔记3~jxta运行的基本步骤~
- 08一级建造师的一道考题
- delphi 只运行一个程序
- 关于oracle安装的一些自己的体会(非安装教程)
- RMI使用概述(ZZ)
- Total Commander 7.04 inc key
- Opening
- DOS远程桌面连接命令
- ASP.NET(C#)修改FTP密码
- Oracle IO问题解析
- SQL SERVER 2005本机Web服务支持(实战篇)