易语言怎么监视鼠标左键有没有被按下
2个回答
展开全部
创建一Dll命令(如下)
.版本 2
.DLL命令 键_判断函数调用时指定虚拟键的状态, 短整数型, "user32.dll", "GetAsyncKeyState"
.参数 键码, 整数型
在窗口中添加一时钟组件(时钟周期=30),在程序集中添加以下两个子程序:
.版本 2
.子程序 键_当前已按下的键, 整数型, , 返回当前按下键的键代码,没有按键返回"-1"
.局部变量 i, 整数型
.局部变量 D, 整数型
i = 0
.判断循环首 (i ≤ 255)
D = 键_判断函数调用时指定虚拟键的状态 (i)
.如果真 (D ≠ 0)
返回 (i)
跳出循环 ()
.如果真结束
i = i + 1
.判断循环尾 ()
返回 (-1)
.子程序 _时钟1_周期事件
.局部变量 D, 整数型
.如果真 (键_当前已按下的键 () =1) ' 鼠标左键代码
时钟1.时钟周期=0
' 调用另一个子程序()
时钟1.时钟周期=30
.如果真结束
.版本 2
.DLL命令 键_判断函数调用时指定虚拟键的状态, 短整数型, "user32.dll", "GetAsyncKeyState"
.参数 键码, 整数型
在窗口中添加一时钟组件(时钟周期=30),在程序集中添加以下两个子程序:
.版本 2
.子程序 键_当前已按下的键, 整数型, , 返回当前按下键的键代码,没有按键返回"-1"
.局部变量 i, 整数型
.局部变量 D, 整数型
i = 0
.判断循环首 (i ≤ 255)
D = 键_判断函数调用时指定虚拟键的状态 (i)
.如果真 (D ≠ 0)
返回 (i)
跳出循环 ()
.如果真结束
i = i + 1
.判断循环尾 ()
返回 (-1)
.子程序 _时钟1_周期事件
.局部变量 D, 整数型
.如果真 (键_当前已按下的键 () =1) ' 鼠标左键代码
时钟1.时钟周期=0
' 调用另一个子程序()
时钟1.时钟周期=30
.如果真结束
追问
要把左键换成右键改动那些地方
追答
.如果真 (键_当前已按下的键 () =2) ' 鼠标右键代码,如果换成中键:该值为4
时钟1.时钟周期=0
' 调用另一个子程序()
时钟1.时钟周期=30
.如果真结束
展开全部
---------DLL命令---------------
.版本 2
.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx"
.参数 hook, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 UnhookWindowsHookEx, 整数型, "user32.dll", "UnhookWindowsHookEx", , 卸载一个钩字
.参数 hook, 整数型
.DLL命令 SetWindowsHookExA, 整数型, "user32.dll", "SetWindowsHookExA", , 安装一个钩子
.参数 idHook, 整数型
.参数 lpfn, 子程序指针
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 GetModuleHandleA, 整数型, , "GetModuleHandleA"
.参数 a, 整数型, , 0
-----------程序代码:----------
.版本 2
.支持库 spec
.程序集 窗口程序集1
.程序集变量 hook
.子程序 __启动窗口_创建完毕
hook = SetWindowsHookExA (14, &钩子处理, GetModuleHandleA (0), 0)
.子程序 钩子处理, 整数型, , 截获左键
.参数 code, 整数型
.参数 wp, 整数型
.参数 lp, 整数型
.如果真 (wp = 513) ' 左键按下
调试输出 (“监视到左键被按下”)'此处换成你要执行的子程序
.如果真结束
返回 (CallNextHookEx (hook, code, wp, lp))
.子程序 _按钮1_被单击
.局部变量 图片框, 图片框
.局部变量 n, 整数型
.计次循环首 (24, n)
图片框 = 取标记组件 (n)
图片框.图片 = 读入文件 (取运行目录 () + “\图片” + 到文本 (n) + “.jpg”)
.计次循环尾 ()
.子程序 __启动窗口_将被销毁
UnhookWindowsHookEx (hook)
.版本 2
.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx"
.参数 hook, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 UnhookWindowsHookEx, 整数型, "user32.dll", "UnhookWindowsHookEx", , 卸载一个钩字
.参数 hook, 整数型
.DLL命令 SetWindowsHookExA, 整数型, "user32.dll", "SetWindowsHookExA", , 安装一个钩子
.参数 idHook, 整数型
.参数 lpfn, 子程序指针
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 GetModuleHandleA, 整数型, , "GetModuleHandleA"
.参数 a, 整数型, , 0
-----------程序代码:----------
.版本 2
.支持库 spec
.程序集 窗口程序集1
.程序集变量 hook
.子程序 __启动窗口_创建完毕
hook = SetWindowsHookExA (14, &钩子处理, GetModuleHandleA (0), 0)
.子程序 钩子处理, 整数型, , 截获左键
.参数 code, 整数型
.参数 wp, 整数型
.参数 lp, 整数型
.如果真 (wp = 513) ' 左键按下
调试输出 (“监视到左键被按下”)'此处换成你要执行的子程序
.如果真结束
返回 (CallNextHookEx (hook, code, wp, lp))
.子程序 _按钮1_被单击
.局部变量 图片框, 图片框
.局部变量 n, 整数型
.计次循环首 (24, n)
图片框 = 取标记组件 (n)
图片框.图片 = 读入文件 (取运行目录 () + “\图片” + 到文本 (n) + “.jpg”)
.计次循环尾 ()
.子程序 __启动窗口_将被销毁
UnhookWindowsHookEx (hook)
追问
如果要把左键换成右键要改动那些地方呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询