首页 > 代码库 > 只运行一个实例以及内存泄漏检测
只运行一个实例以及内存泄漏检测
unit 使应用程序只运行一个实例;
interface
uses Windows;
const
// - 互斥体唯一的名字
_Mutex_Name = ‘{19631971-1976-1981-1989-199319941995}‘;
var
_Mutex_Handle: THandle;
implementation
initialization // - 载入时调用的代码
// - 创建互斥体对象
_Mutex_Handle := CreateMutex(nil, False, LPCWSTR(_Mutex_Name));
// - 若互斥体对象存在则
if GetLastError = ERROR_ALREADY_EXISTS then
// - 结束程序,可有 Integer 参数给操作系统
Halt(ERROR_ALREADY_EXISTS);
// - 工作在调试状态时检测内存泄漏
{$WARN SYMBOL_PLATFORM OFF}
ReportMemoryLeaksOnShutdown := Boolean(DebugHook);
{$WARN SYMBOL_PLATFORM ON}
finalization // - 释放时调用的代码
// - 释放互斥体
ReleaseMutex(_Mutex_Handle);
end.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。