好友
阅读权限10
听众
最后登录1970-1-1
|
狂喝不倒
发表于 2020-7-13 01:47
各位大佬好,小弟初学E,仿照以下帖子学习写了一个窗口同步器
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1122146&highlight=%CD%AC%B2%BD%C6%F7
' 现在遇到问题是,
' 获取到的按键信息只能够同步 键盘点击事件,
' 不能同步按住
' ------按住后台窗口就没有相应的动作了。
' 求助~~~~~
附上蓝奏 源码地址:
https://wwe.lanzouj.com/iQuNsek16of
.版本 2
.支持库 spec
.子程序 开始同步
.参数 序号, 整数型
.局部变量 局_按键码, 整数型
.局部变量 局_按键状态, 整数型
.局部变量 局_x, 整数型
.局部变量 局_y, 整数型
.局部变量 窗口大小, 精易_矩形
调试输出 (“当前启动句柄:”, 集_启动句柄 [序号])
窗口大小 = 窗口_取客户区矩形 (集_主控句柄)
.判断循环首 (全_控制 = 真)
.如果真 (窗口_是否激活 (窗口_取祖句柄 (集_主控句柄)))
局_按键码 = dm.WaitKey (0, 0) ' 等待按键值为0,表示等待任意按键, 鼠标左键是1,鼠标右键时2,鼠标中键是4.
' -----------------------------返回按了什么键
调试输出 (“按:”, 局_按键码)
' *** 缩略程序块 ***
.' 如果 (局_按键码 = 1) ' 鼠标左键
' dm.GetCursorPos (局_x, 局_y) ' 获取鼠标坐标
' 局_x = 局_x - 窗口大小.左边
' 局_y = 局_y - 窗口大小.顶边
' 大漠多线程 [序号].MoveTo (局_x, 局_y)
' bb延时 (1)
' 大漠多线程 [序号].LeftDown () ' 按住鼠标左键
' bb延时 (1)
.' 判断循环首 (2 = 2)
' 局_按键状态 = dm.GetKeyState (局_按键码) ' 获取按键状态 0弹起,1按下
.' 如果真 (局_按键状态 = 0) ' 弹起
' 大漠多线程 [序号].LeftUp () ' 弹起鼠标左键
' 局_按键码 = 0 ' 把取到的按键码设为0
' 跳出循环 ()
.如果真结束
.' 判断循环尾 ()
.否则
.如果结束
.' 如果 (局_按键码 = 2) ' 鼠标 右键
' dm.GetCursorPos (局_x, 局_y) ' 获取鼠标坐标
' 局_x = 局_x - 窗口大小.左边
' 局_y = 局_y - 窗口大小.顶边
' 大漠多线程 [序号].MoveTo (局_x, 局_y)
' bb延时 (1)
' 大漠多线程 [1].RightDown () ' 按住 鼠标 右键
' bb延时 (1)
.' 判断循环首 (2 = 2)
' 局_按键状态 = dm.GetKeyState (局_按键码) ' 获取按键状态 0弹起,1按下
.' 如果真 (局_按键状态 = 0) ' 弹起
' 大漠多线程 [序号].RightUp () ' 弹起 鼠标 右键
' 局_按键码 = 0 ' 把取到的按键码设为0
' 跳出循环 ()
.如果真结束
.' 判断循环尾 ()
.否则
.如果结束
.如果 (局_按键码 > 4) ' 键盘按键信息
大漠多线程 [序号].KeyDown (局_按键码) ' 按住按键
' 现在遇到问题是,
' 获取到的按键信息只能够同步键盘点击事件,
' 不能同步按住
' ------按住后台窗口就没有相应的动作了。
' 求助~~~~~
.判断循环首 (全_控制 = 真)
局_按键状态 = dm.GetKeyState (局_按键码) ' 获取按键状态 0弹起,1按下
调试输出 (“局_按键状态:”, 局_按键状态)
.如果真 (局_按键状态 = 0) ' 弹起
大漠多线程 [序号].KeyUp (局_按键码) ' 弹起按键
跳出循环 ()
.如果真结束
.判断循环尾 ()
.否则
.如果结束
.如果真结束
.判断循环尾 ()
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|