易语言怎么防止多开,,当程序已经打开时再要打开一个的时候原本的程序置顶,不打开新的程序

发布于2021-12-31 17:49:25
4个回答
admin
网友回答2021-12-31
1楼太复杂,2楼不靠谱,三楼……
我的方法是:
是一个易程序同时只能打开一个吗?
置顶设置如下:把窗口总在最前属性设为真。
防止多开设置如下:
1、添加dll命令,有关判断事件对象的。
.版本 2

.DLL命令 创建事件对象, 整数型, kernel32, CreateEventA
.参数 安全特性, 整数型
.参数 重设事件, 逻辑型
.参数 触发状态, 逻辑型
.参数 对象名字, 文本型

.DLL命令 打开事件对象, 整数型, kernel32, OpenEventA
.参数 访问方法, 整数型
.参数 句柄继承, 逻辑型
.参数 对象名字, 文本型

.DLL命令 关闭事件对象, 整数型, kernel32, CloseHandle
.参数 对象句柄, 整数型
2、写个子程序:
.版本 2

.子程序 程序是否已运行, 逻辑型, 公开, 真表示已经运行,假表示还未运行
.参数 标志文本, 文本型, , 可以是任何文本,但是最好要长一点以保证和系统中已有其他事件对象的名称不相冲突。

.如果真 (打开事件对象 (2031619, 假, 标志文本) ≠ 0)
返回 (真)
.如果真结束
事件对象句柄 = 创建事件对象 (0, 假, 假, 标志文本)
返回 (假)

.子程序 关闭事件对象, , 公开, 窗口销毁时调用

关闭事件对象 (事件对象句柄)
3、添加一个变量,程序集的。
.版本 2

.程序集变量 事件对象句柄, 整数型
4、使用时在窗口的“创建完毕”与“将被销毁”事件写入代码:
.版本 2

.子程序 __启动窗口_创建完毕

.如果真 (程序是否已运行 (“禁止多次运行”) = 真)
信息框 (“程序已经运行!”, 0, )
销毁 ()
.如果真结束

.子程序 __启动窗口_将被销毁

关闭事件对象 ()

然后效果如下:
admin
网友回答2021-12-31
左边默认是有的,如果没有,双击右侧文件列表中的rc文件可以激活。
查看菜单里面也可以选择。
admin
网友回答2021-12-31
你用的是不是windows7?可能是运行的程序过多,用金山卫士或者360卫士清理一下吧,也可能是电脑配置有点低,升级硬件也可以!
admin
网友回答2021-12-31
system(程序路径);

回到
顶部