易语言怎么禁止软件双开?

易语言怎么禁止软件双开?就是检测有没有同时运行一个软件!... 易语言怎么禁止软件双开?
就是检测有没有同时运行一个软件!
展开
 我来答
生人勿近1988
2020-03-15 · TA获得超过5213个赞
知道小有建树答主
回答量:595
采纳率:100%
帮助的人:110万
展开全部

楼上的回答 调用dll命令的,太复杂,我有简单的。

图片看不清楚,可以复制以下内容。

.版本 2

.支持库 eAPI

.子程序 进程是否重复, 逻辑型, 公开, 如果相同的进程名称有2个或以上,则返回 真,1个或以下则返回 假。

.参数 待检测进程, 文本型, , 进程名称,例:"QQ.exe"

.局部变量 进程数组, 进程信息, , "0"

.局部变量 n, 整数型

.局部变量 判断重复, 整数型

进程数组 = 取系统进程列表 ()

.计次循环首 (取数组成员数 (进程数组), n)

.如果真 (到小写 (进程数组 [n].进程名称) = 到小写 (待检测进程))

判断重复 = 判断重复 + 1

.如果真 (判断重复 ≥ 2)

返回 (真)

.如果真结束

.如果真结束

处理事件 ()

.计次循环尾 ()

返回 (假)

––––––––––

调用子程序例子:

如果真(进程是否重复(“本软件名称.exe”)=真)

信息框("本程序正在运行中,禁止重复运行",0,,)

返回()

如果真结束

杭州一知智能科技有限公司
2022-03-17 广告
电话机器人主要就是用来模拟人工通话的一组程序,一般由,CRM系统,语义识别,转换文字,话术体系,这是软的部分,再加上底层软交换和通信模块一起,合并起来就是一套完整的电话机器人系统。电话机器人可以代替真人进行电话工作的,像是电话营销、售后回访... 点击进入详情页
本回答由杭州一知智能科技有限公司提供
恒叔2020
2020-03-14 · TA获得超过195个赞
知道小有建树答主
回答量:416
采纳率:84%
帮助的人:98.1万
展开全部
最简单最方便的就是判断文件是否打开,打开文件会占用这个文件被占用就销毁,没有占用就继续执行就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
注册到抓狂
2020-03-14 · TA获得超过655个赞
知道小有建树答主
回答量:1410
采纳率:72%
帮助的人:341万
展开全部

-------------------------------------------------------------

DLL中的API

-------------------------------------------------------------

.版本 2


.DLL命令 OpenEventA, 整数型, , "OpenEventA", 公开, 打开事件同步对象

    .参数 dwDesiredAccess, 整数型

    .参数 bInheritHandle, 逻辑型

    .参数 lpName, 文本型


.版本 2


.DLL命令 CreateEvent, 整数型, "Kernel32.dll", "CreateEventA", 公开, 创建事件同步对象

    .参数 lpEventAttributes, 整数型

    .参数 bManualReset, 逻辑型

    .参数 bInitialState, 逻辑型

    .参数 lpName, 文本型


.版本 2


.DLL命令 ShowWindow, 逻辑型, "user32.dll", "ShowWindow", 公开, 窗口_置状态

    .参数 hwnd, 整数型, , 窗口句柄,要向这个窗口应用由命令

    .参数 nCmdShow, 整数型, , 为窗口指定的一个命令。请用下述任何一个常数:0 隐藏取消激活  1 还原激活 2 最小化激活 3 最大化激活 4 还原 6 最小化取消激活 7 最小化 9 还原激活

.版本 2


.DLL命令 SetForegroundWindow, 逻辑型, "user32.dll", "SetForegroundWindow", 公开, 窗口_置焦点 将窗口设为系统的前台窗口。这个函数可用于改变用户目前正在操作的应用程序

    .参数 句柄, 整数型

.版本 2


.DLL命令 SetWindowPos, , "user32.dll", "SetWindowPos", 公开, _窗口置最前

    .参数 hwnd, 整数型, , 欲定位的窗口

    .参数 hWndInsertAfter, 整数型

    .参数 x, 整数型, , 窗口新的x坐标。如hwnd是一个子窗口,则x用父窗口的客户区坐标表示

    .参数 y, 整数型, , 窗口新的y坐标。如hwnd是一个子窗口,则y用父窗口的客户区坐标表示

.参数cx,整数型,,指定新的窗口宽度

.参数cy,整数型,,指定新的窗口高度

    .参数 wFlags, 整数型


-------------------------------------------------------------

程序集中的子程序

-------------------------------------------------------------

.版本 2


.子程序 窗口_强制显示, , 公开, 对窗口进行置顶、激活等操作

.参数 句柄, 整数型

.参数 总在最前, 逻辑型, 可空, 默认为假:取消总在最前  真:总在最前


ShowWindow (句柄, 9)

SetForegroundWindow (句柄)

.如果 (总在最前)

    SetWindowPos (句柄, -1, 0, 0, 0, 0, 3)

.否则

    SetWindowPos (句柄, -2, 0, 0, 0, 0, 3)


.版本 2


.子程序 程序_禁止重复运行, , 公开

.参数 标识文本, 文本型, 可空, 尽量输复杂一点的文本

.参数 是否弹出信息框提示, 逻辑型, 可空, 默认为假,不弹出提示;

.参数 消息框提示文本, 文本型, 可空, 第二个参数设置为假,该参数则无效

.参数 消息框提示图标, 整数型, 可空, 默认为信息图标,如:#信息图标

.参数 是否前端显示程序, 逻辑型, 可空, 如果已重复运行,是否将程序在前端显示


.如果真 (标识文本 = “”)

    标识文本 = 取运行目录 () + “\” + 取执行文件名 ()  ' 标识文本,如果有重复的,就不能打开事件,实现禁止

    标识文本 = 子文本替换 (标识文本, “\”, “/”, , , 真)

.如果真结束

.如果真 (OpenEventA (2031619, 假, 标识文本) ≠ 0)

    .如果真 (是否弹出信息框提示)

        .如果真 (是否为空 (消息框提示文本))

            消息框提示文本 = “对不起,该进程已打开!”

        .如果真结束

        信息框 (消息框提示文本, 消息框提示图标, “友情提醒:”)

    .如果真结束

    .如果真 (是否前端显示程序)

        窗口_强制显示 (进程_名取句柄 (取执行文件名 ()))

    .如果真结束

    结束 ()

.如果真结束

CreateEvent (0, 假, 假, 标识文本)


--------------------------------------------

调用方法

--------------------------------------------

程序_禁止重复运行(“这里放一串复杂文本,多点符号做为程序运行标识”,真,“程序已在运行中,请不要重复运行!”,#信息图标)

DLL API 部分

程序集部分

使用方法部分,放在窗口创建完毕中调用

其实,这些东西 在精易模块中都有,下载个源码回来学习下就好

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式