易语言吧 关注:266,763贴子:1,666,582
  • 2回复贴,共1

(原创教程)简单禁止程序重复运行 并将已最小化程序强制切换

只看楼主收藏回复

.版本 2
.支持库 spec
.支持库 eAPI
.程序集 窗口程序集1, , , 编译后再测试
.子程序 __启动窗口_创建完毕, , , 请最小化后再重复运行试试
.如果真 (取进程数 (取执行文件名 ()) > 1)
延迟 (100)
结束 ()
.如果真结束
.子程序 取进程数, 整数型, , 返回相关名称进程数量
.参数 欲查找进程, 文本型
.参数 全部匹配, 逻辑型, 可空, 默认:假
.局部变量 进程列表, 进程信息, , "0"
.局部变量 I, 整数型
.局部变量 T, 整数型
.如果真 (是否为空 (全部匹配))
全部匹配 = 假
.如果真结束
进程列表 = 取系统进程列表 ()
.计次循环首 (取数组下标 (进程列表, ), I)
.如果 (全部匹配)
.如果真 (进程列表 [I].进程名称 = 欲查找进程)
T = T + 1
.如果真结束
.否则
.如果真 (寻找文本 (进程列表 [I].进程名称, 欲查找进程, , 假) > 0)
T = T + 1
.如果真结束
.如果结束
.计次循环尾 ()
返回 (T)
.子程序 _时钟1_周期事件
.如果 (取进程数 (取执行文件名 ()) > 1)
_启动窗口.位置 = 1
_启动窗口.总在最前 = 真
时钟1.时钟周期 = 0
时钟1.时钟周期 = 222
.否则
_启动窗口.总在最前 = 假
.如果结束


1楼2014-08-05 09:18回复


    IP属地:湖北来自Android客户端2楼2014-08-05 09:25
    回复
      2025-06-09 11:47:22
      广告
      补充 时钟1 默认周期 222
      或者用以下
      .版本 2
      .支持库 spec
      .支持库 eAPI
      .程序集 窗口程序集1, , , 编译后再测试
      .子程序 __启动窗口_创建完毕, , , 请最小化后再重复运行试试
      .如果真 (取进程数 (取执行文件名 ()) > 1)
      延迟 (100)
      结束 ()
      .如果真结束
      时钟1.时钟周期 = 222
      .子程序 取进程数, 整数型, , 返回相关名称进程数量
      .参数 欲查找进程, 文本型
      .参数 全部匹配, 逻辑型, 可空, 默认:假
      .局部变量 进程列表, 进程信息, , "0"
      .局部变量 I, 整数型
      .局部变量 T, 整数型
      .如果真 (是否为空 (全部匹配))
      全部匹配 = 假
      .如果真结束
      进程列表 = 取系统进程列表 ()
      .计次循环首 (取数组下标 (进程列表, ), I)
      .如果 (全部匹配)
      .如果真 (进程列表 [I].进程名称 = 欲查找进程)
      T = T + 1
      .如果真结束
      .否则
      .如果真 (寻找文本 (进程列表 [I].进程名称, 欲查找进程, , 假) > 0)
      T = T + 1
      .如果真结束
      .如果结束
      .计次循环尾 ()
      返回 (T)
      .子程序 _时钟1_周期事件
      .如果 (取进程数 (取执行文件名 ()) > 1)
      _启动窗口.位置 = 1
      _启动窗口.总在最前 = 真
      时钟1.时钟周期 = 0
      时钟1.时钟周期 = 222
      .否则
      _启动窗口.总在最前 = 假
      .如果结束


      4楼2014-08-05 09:32
      回复