在易语言中怎样设置只能运行一个窗口???
也就是打开这个软件后,你在点击打开就没有任何反应,或者弹到已经打开的本软件页面,不能让它同时运行两个窗口。...
也就是打开这个软件后,你在点击打开就没有任何反应,或者弹到已经打开的本软件页面, 不能让它同时运行两个窗口。
展开
展开全部
给你这个源码(以前我写的),子程序在启动窗口创建完毕下运行,你自己看看
.版本 2
.支持库 eAPI
.子程序 禁止二次运行, , 公开, 推荐放在启动窗口创建完毕下
.参数 信息框标题, 文本型, 可空, 提示框提示标题,默认为"提示"
.参数 提示信息, 文本型, 可空, 提示框提示信息,默认为"禁止重复运行!"
.参数 是否提示, 逻辑型, 可空, 是否弹出提示框,默认为假
.局部变量 进程, 进程信息, , "0"
.局部变量 次数, 整数型
.局部变量 i, 整数型
次数 = 0
进程 = 取系统进程列表 ()
.计次循环首 (取数组成员数 (进程), i)
.如果 (进程 [i].进程名称 = 取执行文件名 ())
次数 = 次数 + 1
.否则
.如果结束
.计次循环尾 ()
.如果 (次数 > 1)
.如果 (是否为空 (是否提示))
.否则
.如果 (是否提示 = 真)
.如果 (是否为空 (提示信息))
.如果 (是否为空 (信息框标题))
信息框 (“禁止重复运行!”, 64, “提示”)
.否则
信息框 (“禁止重复运行!”, 64, 信息框标题)
.如果结束
.否则
.如果 (是否为空 (信息框标题))
信息框 (提示信息, 64, “提示”)
.否则
信息框 (提示信息, 64, 信息框标题)
.如果结束
.如果结束
.否则
.如果结束
.如果结束
结束 ()
.否则
.版本 2
.支持库 eAPI
.子程序 禁止二次运行, , 公开, 推荐放在启动窗口创建完毕下
.参数 信息框标题, 文本型, 可空, 提示框提示标题,默认为"提示"
.参数 提示信息, 文本型, 可空, 提示框提示信息,默认为"禁止重复运行!"
.参数 是否提示, 逻辑型, 可空, 是否弹出提示框,默认为假
.局部变量 进程, 进程信息, , "0"
.局部变量 次数, 整数型
.局部变量 i, 整数型
次数 = 0
进程 = 取系统进程列表 ()
.计次循环首 (取数组成员数 (进程), i)
.如果 (进程 [i].进程名称 = 取执行文件名 ())
次数 = 次数 + 1
.否则
.如果结束
.计次循环尾 ()
.如果 (次数 > 1)
.如果 (是否为空 (是否提示))
.否则
.如果 (是否提示 = 真)
.如果 (是否为空 (提示信息))
.如果 (是否为空 (信息框标题))
信息框 (“禁止重复运行!”, 64, “提示”)
.否则
信息框 (“禁止重复运行!”, 64, 信息框标题)
.如果结束
.否则
.如果 (是否为空 (信息框标题))
信息框 (提示信息, 64, “提示”)
.否则
信息框 (提示信息, 64, 信息框标题)
.如果结束
.如果结束
.否则
.如果结束
.如果结束
结束 ()
.否则
展开全部
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 互斥体, 文本型
互斥体 = _启动窗口.标题 + 按钮1.标题 ' 这里随便你加,。。。。。。。。。。。。。。
.如果真 (打开事件同步对象 (2031619, 假, 互斥体) ≠ 0) ' 判断本程序是否已经运行,已经运行就结束。。。。。。。。。。
结束 ()
.如果真结束
创建事件同步对象 (0, 假, 假, 互斥体) ' 没有运行就创建一个互斥体。。。。。。。。。。。。。。。。
.版本 2
.DLL命令 打开事件同步对象, 整数型, , "OpenEventA", , 禁止多开DLL
.参数 填2031619, 整数型, , dwDesiredAccess
.参数 假, 逻辑型, , bINheritHandle
.参数 资源名称, 文本型, , LpName
.DLL命令 创建事件同步对象, , , "CreateEventA", , 禁止多开DLL
.参数 事件属性0, 整数型, , LpEventAttributes
.参数 手动复位, 逻辑型, , bManualReset
.参数 初始状态, 逻辑型, , bInitialstate
.参数 资源名称, 文本型, , LpName
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 互斥体, 文本型
互斥体 = _启动窗口.标题 + 按钮1.标题 ' 这里随便你加,。。。。。。。。。。。。。。
.如果真 (打开事件同步对象 (2031619, 假, 互斥体) ≠ 0) ' 判断本程序是否已经运行,已经运行就结束。。。。。。。。。。
结束 ()
.如果真结束
创建事件同步对象 (0, 假, 假, 互斥体) ' 没有运行就创建一个互斥体。。。。。。。。。。。。。。。。
.版本 2
.DLL命令 打开事件同步对象, 整数型, , "OpenEventA", , 禁止多开DLL
.参数 填2031619, 整数型, , dwDesiredAccess
.参数 假, 逻辑型, , bINheritHandle
.参数 资源名称, 文本型, , LpName
.DLL命令 创建事件同步对象, , , "CreateEventA", , 禁止多开DLL
.参数 事件属性0, 整数型, , LpEventAttributes
.参数 手动复位, 逻辑型, , bManualReset
.参数 初始状态, 逻辑型, , bInitialstate
.参数 资源名称, 文本型, , LpName
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给个建议,从API函数入手!
也可以向老QQ学习,在你编写的主程序中加入时钟组件,时刻判断是否打开了两个或多个标题,类名都一样的程序,然后怎样就是你自己的事情了!
也可以向老QQ学习,在你编写的主程序中加入时钟组件,时刻判断是否打开了两个或多个标题,类名都一样的程序,然后怎样就是你自己的事情了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
论坛搜索 互斥体
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询