永发信息网

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

答案:2  悬赏:60  手机版
解决时间 2021-04-10 23:03
如何实现一个应用程序只能打开一个进程
最佳答案
你可以打开你的任务管理器看看svchost.exe程序就对应着多少进程,在XP中,四个svchost.exe进程算少的,因为它对应着多个不同的系统服务,所以你这一个程序只对应一个进程的说法是不成立的。是否一个程序对应一个进程要看程序的设计,多数程序允许同时启动它的多个窗口,这时也往往会出现多个同样程序名称的进程。
全部回答
在开发过程中可以使用互斥对象控制应用程序只能打开一个进程。避免误操作或其他原因造成因同时打开多个应用程序而使数据录入或统计错误。本例是在工程单元中打开互斥对象,如果句柄为0,说明互斥对象不存在,创建互斥对象并运行程序,如果句柄大于0,说明存在互斥对象,程序直接退出,主要代码如下: if openmutex(mutex_all_access,true,'mutex')=0 thenbegincreatemutex(nil,true,'mutex'); application.initialize; application.createform(tform1, form1); application.run; closehandle(openmutex(mutex_all_access,true,'mutex')); 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 mutex-object name ); 参数说明 dwdesiredaccess:访问标识。 binherithandle:继承标识。 lpname:互斥对象名称
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如图所示,∠AOB=70°,∠COD=80°,求∠AOD-
对中国航天事业祝福语,中国60周年祝福语
盛夏的一天译成日语
公元壹号西门在什么地方啊,我要过去处理事情
有没有开黄钻的简单方法?
男朋友特别介意我的过去 总是折磨着我 我很难
如图,已知电流表A1的读数为0.2A,电流表A的
请问,给对方电话录音,侵犯他的隐私权吗?
关于二货的句子
石家庄和平路
请问华硕A8T系列笔记本电脑显卡价格
前两天,听朋友说可以购买同志专属钻戒,请问
世界上最大的经济联合体是A.联合国B.东盟C.欧
魅足足浴养生会所在什么地方啊,我要过去处理
药店服务宗旨标语
推荐资讯
手机上网为什么会出现许可拒绝呢
新苗新居一号地停车场(入口)这个地址在什么地
男生头发往前翘翘的内种头发叫什么、速度
开头是大家好我是???的 歌
水向东流3m/s,船向西北方向行使6m/s。问实际
都属于未婚状况就生小孩了,没有任何手续 这
厦门同安几家建设银行。、在哪?
要中考了 咱办
单选题袁世凯大搞尊孔复古活动,推行复古教育
安逸的下午茶时光语录,企业下午茶对企业文化
在无尘车间里穿无尘服工作对身体有害吗?
摩托车的英文怎么写,骑摩托车的英语单词
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?