zoukankan
html css js c++ java
防止再次运行同一个应用程序
防止同时打开多个应用程序的实例,也就是同时只有一个程序在运行,再运行同一个程序时,会自动关闭,以下代码放在项目的.dpr(项目文件)中的Application.Initialize;上面。
代码如下
var
hMutex: DWORD;
Ret: Integer;
{以上代码要放在begin..end上}
hMutex :
=
0
;
try
hMutex :
=
CreateMutex(nil, False,
'
eShapeOfClient
'
);
//
TRUE 标明该进程拥有此 Mutex 对象eShapeOfClient为自己的程序文件名或自己定义的任意名称
Ret :
=
GetLastError;
if
(Ret
=
ERROR_ALREADY_EXISTS) then
//
Mutex 对象是否存在
begin
ReleaseMutex(hMutex);
Application.Terminate;
//
退出程序
end
else
if
hMutex
=
ERROR_INVALID_HANDLE then
begin
InfoDlg(
'
此程序正在运行,关闭后请重新再试!
'
);
//InfoDlg函数是自己定义的,通常用MessgeBox来代替
Application.Terminate;;
end;
finally
ReleaseMutex(hMutex);
end;
以上代码没有任何问题,但在运行第二个程序关闭时,也就是Application.Terminate; 会有屏闪,如果改成Exit;好像没有问题。
查看全文
相关阅读:
sqlmap注入分类
sqlmap简单中文说明
【Python Learning第一篇】Linux命令学习及Vim命令的使用
模拟退火算法从原理到实战【基础篇】
平面上给定n条线段,找出一个点,使这个点到这n条线段的距离和最小。
使用VMWareWorkstation10搭建学习环境笔记
洛谷P1313 计算系数【快速幂+dp】
浅析Numpy.genfromtxt及File I/O讲解
持续交付中高效率与高质量
持续集成CI与自动化测试
原文地址:https://www.cnblogs.com/sonicit/p/827382.html
最新文章
C# Math类简介
窗口最小化到托盘
关于登陆窗口的关闭、传值
Winform/WPF Clipboard之剪切复制粘贴
恢复Reflector反编译后资源文件的办法
DLL放在指定目录 以及设置dll调用路径
Log4net在类库中的用法
.net混淆、反编译工具调查
C# Winform应用程序占用内存较大解决方法整理(转)
用 C# 轻松读取、改变文件的创建、修改、访问时间
热门文章
PHPExcel
解析百度搜索结果链接的url,获取真正的url
Apache Rewrite 拟静态配置
IIS 伪静态配置(安装ISAPI_Rewrite配置)
PHP中$_SERVER的详细参数与说明
win7 IIS7.5配置伪静态
.htaccess重命名时提示必须键入文件名怎么解决
APMServ 支持.htaccess伪静态
使用PHP获取根域名的方法!
损失函数详解
Copyright © 2011-2022 走看看