电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

如何实现一个应用程序只能打


发布日期:2021/7/31
 
——此文章摘自《Delphi开发经验技巧宝典》定价特价 购买>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

在开发过程中可以使用互斥对象控制应用程序只能打开一个进程避免误操作或其他原因造成因同时打开多个应用程序而使数据录入或统计错误本例是在工程单元中打开互斥对象如果句柄为说明互斥对象不存在创建互斥对象并运行程序如果句柄大于说明存在互斥对象程序直接退出主要代码如下

if OpenMutex(MUTEX_ALL_ACCESSTrueMutex)= then

begin

CreateMutex(nilTrueMutex);

ApplicationInitialize;

ApplicationCreateForm(TForm Form);

ApplicationRun;

CloseHandle(OpenMutex(MUTEX_ALL_ACCESSTrueMutex));

end;

使用CreateMutex函数创建互斥对象

语法格式如下

Handle CreateMutex(

LPSECURITY_ATTRIBUTES lpMutexAttributes

BOOL bInitialOwner

LPCTSTR lpName

);

参数说明

lpMutexAttributes安全属性

BInitialOwner指定互斥对象是否拥有所有者标识值为true时程序创建的Create Process 方法能够继承互斥对象句柄

LpName创建的互斥对象名称

Return_Value返回创建的互斥对象句柄

使用OpenMutex函数打开互斥对象

语法格式如下

Handle OpenMutex(

DWORD dwDesiredAccess // access flag

BOOL bInheritHandle // inherit flag

LPCTSTR lpName // pointer to mutexobject name

);

参数说明

dwDesiredAccess访问标识

BInheritHandle继承标识

LpName互斥对象名称

Return_Value返回打开的互斥对象句柄

上一篇:进销存管理系统销售管理功能的实现(二)[2]

下一篇:机构设置及编码功能的实现(五)[2]