易语言用大漠后台绑定窗口以后,一开始工作就会连启动窗口也给绑定。求解。
下面是源码大概的意思:
版本 2
支持库 dm
支持库 shellEx
程序集 窗口程序集1
程序集变量 A, 整数型
程序集变量 B, 整数型
程序集变量 大漠, 大漠
程序集变量 hwnd
子程序 __启动窗口_创建完毕
大漠创建 ()
如果 (文件是否存在 (取运行目录 () + “\大漠bat”))
运行 (取运行目录 () + “\大漠bat”, 假, 1)
否则
信息框 (“缺少关键文件”, 48, “错误”)
结束 ()
如果结束
A = 注册热键 (_启动窗口取窗口句柄 (), 标签1取窗口句柄 (), 0, #F4键)
B = 注册热键 (_启动窗口取窗口句柄 (), 标签1取窗口句柄 (), 0, #F6键)
子程序 _标签1_反馈事件, 整数型
参数 参数一, 整数型
参数 参数二, 整数型
判断开始 (参数一 = A)
延时 (300)
hwnd = 大漠窗口_取鼠标所指窗口句柄 ()
大漠后台_绑定窗口 (hwnd, “normal”, “dx”, “dx”, 0)
延时 (3000)
默认
判断结束
判断开始 (参数一 = B)
时钟1时钟周期 = 0
大漠后台_解除绑定窗口 ()
默认
判断结束
子程序 _时钟1_周期事件
局部变量 组队人数, 整数型
大漠键鼠_鼠标移动 (113, 92)
延时 (500)
大漠键鼠_鼠标移动 (715, 97)
延时 (500)
子程序 _按钮1_被单击
延时 (300)
时钟1时钟周期 = 1000
子程序 _按钮2_被单击
延时 (300)
结束 ()
不停的读取,赋值组件,还1毫秒的频率,果真有意义么。
高级选择夹1现行子夹 = 取随机数 (1, 300)
编辑框1内容 = 高级选择夹1取子夹名称 (高级选择夹1现行子夹)
--光上面这两句,1毫秒你执行的完么。
大漠插件前台脚本和后台脚本只要转换一下模拟方式就好了,比如dx或者dx2什么的。
具体命令如下:
dm_ret = dmFindPic(x1, y1, x2, y2, pic_name, delta_color,sim, dir,intX, intY)
其中的参数含义如下:
x1 整形数:区域的左上X坐标
y1 整形数:区域的左上Y坐标
x2 整形数:区域的右下X坐标
y2 整形数:区域的右下Y坐标
pic_name 字符串:名,可以是多个,比如;testbmptest2bmptest3bmp;
delta_color 字符串:颜色色偏比如;203040; 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
sim 双精度浮点数:相似度,取值范围01-10
dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
intX 变参指针:返回左上角的X坐标
intY 变参指针:返回左上角的Y坐标
大漠插件还是很好用的,祝贺楼主研究成功。
希望对您有帮助。
哎,怎么说你呢,语文理解能力怎么这么差的,我是说,开启线程的时候,创建大漠对象要在子进程创建,你却偏偏在子程序外面创建。你前面:BeginThread 多线程,说明是创建线程了,下面代码才是子程序:
Sub 多线程
Do
Call X
Call 刀轨
Loop
End Sub
在子程序内创建大漠对象,是这样:
Sub 多线程
Set dm = CreateObject("dmdmsoft")
Do
Call X
Call 刀轨
Loop
End Sub
我还说了,你这样做,子程序的代码还是不能后台的,开启线程绑定窗口也要在子程序内绑定。你这几句代码:
dm_ret=dmBindwindow(hwnd,"dx","windows","windows",0)
BeginThread 多线程
dm_ret=dmUnbindwindow()
不会有效果的。我不提的话,后台没效果估计你也不知道什么原因。就算是绑定成功了,有些窗口也不一定支持后台,这还得继续测试。还有你这样写程序的习惯很不好,结构混乱,相信没几个人能看得明白你那几个子程序嵌套调用。如果逻辑出问题了,你自己都很难找原因。程序里面有不少是废话,例如intX=0 And intY=0,i=0,i=1。变量需要的时候才用,不需要的时候少用。你要想写一个好的脚本,按键精灵各方面还得花点时间去学习。
版本 2程序集 窗口程序集1
程序集变量 秒, 整数型
程序集变量 分, 整数型
程序集变量 小时, 整数型
程序集变量 天, 整数型子程序 _时钟1_周期事件秒 = 秒 + 1
如果 (秒 = 60)
分 = 分 + 1
秒 = 0
否则如果结束如果 (分 = 60)
小时 = 小时 + 1
分 = 0
否则如果结束如果 (小时 = 24)
天 = 天 + 1
小时 = 0
否则如果结束 标签1标题 = 到文本 (天) + “天” + 取文本右边 (“0” + 到文本 (小时), 2) + “小时” + 取文本右边 (“0” + 到文本 (分), 2) + “分钟” + 取文本右边 (“0” + 到文本 (秒), 2) + “秒”子程序 _按钮1_被单击时钟1时钟周期 = 0标签1标题 = “0天00小时00分钟00秒”
子程序 _按钮开始_被单击时钟1时钟周期 = 1000子程序 _按钮暂停_被单击时钟1时钟周期 = 0
这样写把
不知道你有没有注册大漠,并创建大漠对象啊
你在脚本开头调用一下这个子程序,并把大漠的两个dll放到附件里,就行了。
我一直都这么用,从没出现过小精灵不能使用大漠的情况
Sub DM注册()
PutAttachment "\plugin","dll"
PutAttachment "\plugin\DM","bmp"
PutAttachment "\plugin\DM","txt"
PutAttachment "\plugin\DM","dmdll"
//↑PutAttachment释放附件
Call PluginRegDllReg("\plugin\DM\dmdll") //注册插件
set dm = createobject("dmdmsoft") //创建大漠 对象
dmSetPath "\plugin\DM" //设置全局路径
TracePrint "版本信息:"&dmVer()
//↑大漠·注册
base_path = dmGetBasePath() //获取dmdll路径
Delay 40
End Sub
以上就是关于易语言大漠插件绑定窗口问题全部的内容,包括:易语言大漠插件绑定窗口问题、易语言,组件卡死的问题、请教一下大漠后台脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)