易语言吧

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 10864|回复: 11

[易语言问题] 求易语言模拟键盘按住、弹起 鼠标按住、弹起。

[复制链接]

4

主题

111

帖子

1271

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
1271

终生成就赞助会员

威望
198
易币
764
贡献
0
积分
1271
UID
3164
在线时间
12 小时
注册时间
2020-3-29
发表于 2020-4-13 23:26:21 | 显示全部楼层 |阅读模式
1000易币
还有滚轮按住、弹起。上滚。下滚的源码。不要文字解答以及用什么模块,要代码易语言的代码

295

主题

537

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
14490

幽默大师终生成就

威望
0
易币
13868
贡献
0
积分
14490
UID
580
在线时间
464 小时
注册时间
2019-12-5
发表于 2020-4-13 23:48:22 | 显示全部楼层
本帖最后由 十万个为什么 于 2020-4-14 00:05 编辑

键盘消息按住某键
  
子程序名返回值类型公开备 注
键盘_消息向指定窗口句柄的窗口中发送按键消息(无返回值)
参数名类 型参考可空数组备 注
窗口句柄整数型   接收消息的窗口句柄
键代码整数型   按键的键代码
状态整数型  可空。默认为1  1=输入字符(大写) 2=输入字符(小写)  3=按下,4=放开,5=单击
是否功能键逻辑型  可空。默认为假:普通键   真:功能键 (为功能键可用于热键技能不输入字符)
变量名类 型静态数组备 注
按下整数型  
放开整数型  
如果 (是否功能键)
按下 = 260
放开 = 261
按下 = 256
放开 = 257
判断 (状态 = 1 是否为空 (状态))
PostMessageA (窗口句柄, 258, 键代码, 0)
判断 (状态 = 2)
PostMessageA (窗口句柄, 按下, 键代码, 0)
判断 (状态 = 3)
PostMessageA (窗口句柄, 按下, 键代码, 0)
判断 (状态 = 4)
PostMessageA (窗口句柄, 放开, 键代码, 0)
判断 (状态 = 5)
PostMessageA (窗口句柄, 按下, 键代码, 0)




鼠标_消息.

  
子程序名返回值类型公开备 注
鼠标_消息向指定窗口发送鼠标动作消息(无返回值)
参数名类 型参考可空数组备 注
窗口句柄整数型  可空:为桌面超级列表框句柄  接收鼠标消息窗口句柄
水平坐标整数型  可空:为原水平坐标不变  移动目标鼠标水平坐标 (注:坐标为参数一窗口句柄中的坐标)
垂直坐标整数型  可空:为原垂直坐标不变  移动目标鼠标垂直坐标
整数型  可空:为左键  1 #左键   2 #右键   3 #中键  4 #中键上滚动 5 #中键下滚动(滚动前后请按下放开中键)
控制整数型  可空:为单击  1 #单击   2 #双击   3 #按下  4 #放开
变量名类 型静态数组备 注
坐标值整数型  
如果真 (窗口句柄 = 0)
窗口句柄 = GetDesktopWindow ()
如果真 (是否为空 (水平坐标))
水平坐标 = 2
如果真 (是否为空 (垂直坐标))
垂直坐标 = 2
坐标值 = 水平坐标 + 垂直坐标 × 65536
如果真 (键 = 4)  ' 中键上滚动
SendMessageA (窗口句柄, 522, 7864336, 坐标值 + 25100873)
返回 ()
如果真 (键 = 5)  ' 中键下滚动
SendMessageA (窗口句柄, 522, -7864304, 坐标值 + 25100873)
返回 ()
SendMessageA (窗口句柄, 512, 2, 坐标值)
如果真 (键 = 0 键 = 1)
如果真 (控制 = 0 控制 = 1)
SendMessageA (窗口句柄, 513, 1, 坐标值)  ' 左键按下
SendMessageA (窗口句柄, 514, 0, 坐标值)  ' 左键放开
如果真 (控制 = 2)
SendMessageA (窗口句柄, 513, 1, 坐标值)
SendMessageA (窗口句柄, 514, 0, 坐标值)
SendMessageA (窗口句柄, 515, 0, 坐标值)  ' 双击左键
如果真 (控制 = 3)
SendMessageA (窗口句柄, 513, 1, 坐标值)
如果真 (控制 = 4)
SendMessageA (窗口句柄, 514, 0, 坐标值)
返回 ()
如果真 (键 = 2)
如果真 (控制 = 0 控制 = 1)
SendMessageA (窗口句柄, 516, 2, 坐标值)  ' 右键按下
SendMessageA (窗口句柄, 517, 2, 坐标值)  ' 右键放开
如果真 (控制 = 2)
SendMessageA (窗口句柄, 516, 2, 坐标值)
SendMessageA (窗口句柄, 517, 2, 坐标值)
SendMessageA (窗口句柄, 518, 0, 坐标值)  ' 双击右键
如果真 (控制 = 3)
SendMessageA (窗口句柄, 516, 2, 坐标值)
如果真 (控制 = 4)
SendMessageA (窗口句柄, 517, 2, 坐标值)
SendMessageA (窗口句柄, 123, 132782, 坐标值 + 25100873)  ' 右键放开
返回 ()
如果真 (键 = 3)
如果真 (控制 = 0 控制 = 1)
SendMessageA (窗口句柄, 519, 16, 坐标值)  ' 中键按下
SendMessageA (窗口句柄, 520, 0, 坐标值)  ' 中键放开
如果真 (控制 = 2)
SendMessageA (窗口句柄, 519, 16, 坐标值)
SendMessageA (窗口句柄, 520, 0, 坐标值)
SendMessageA (窗口句柄, 521, 0, 坐标值)  ' 双击中键
如果真 (控制 = 3)
SendMessageA (窗口句柄, 519, 16, 坐标值)
如果真 (控制 = 4)
SendMessageA (窗口句柄, 520, 0, 坐标值)
返回 ()
' WM_MOUSEFIRST = 512
' WM_MOUSEMOVE = 512
' // 移动鼠标
' WM_LBUTTONDOWN = 513
' //按下鼠标左键
' WM_LBUTTONUP = 514
' //释放鼠标左键
' WM_LBUTTONDBLCLK = 515
' //双击鼠标左键
' WM_RBUTTONDOWN = 516
' //按下鼠标右键
' WM_RBUTTONUP = 517
' //释放鼠标右键
' WM_RBUTTONDBLCLK = 518
' //双击鼠标右键
' WM_MBUTTONDOWN = 519
' //按下鼠标中键
' WM_MBUTTONUP = 520
' //释放鼠标中键
' WM_MBUTTONDBLCLK = 521
' //双击鼠标中键
' WM_MOUSEWHEEL = 522
' 当鼠标轮子转动时发送此消息个当前有焦点的控件



回复

使用道具 举报

14

主题

65

帖子

402

积分

易语言学徒

Rank: 3Rank: 3

积分
402
威望
0
易币
336
贡献
0
积分
402
UID
3250
在线时间
26 小时
注册时间
2020-3-31
发表于 2020-4-14 15:49:07 | 显示全部楼层
十万个为什么 发表于 2020-4-13 23:48
键盘消息按住某键
[ecode=2].版本 2

这是大佬,但是用某超级和某易会更加好吧
回复

使用道具 举报

4

主题

111

帖子

1271

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
1271

终生成就赞助会员

威望
198
易币
764
贡献
0
积分
1271
UID
3164
在线时间
12 小时
注册时间
2020-3-29
 楼主| 发表于 2020-4-14 20:47:21 | 显示全部楼层
十万个为什么 发表于 2020-4-13 23:48
键盘消息按住某键
[ecode=2].版本 2

PostMessageA
GetDesktopWindow
SendMessageA
DLL命令可以发下嘛
回复

使用道具 举报

0

主题

7

帖子

47

积分

初识易语言

Rank: 1

积分
47
威望
0
易币
40
贡献
0
积分
47
UID
3621
在线时间
2 小时
注册时间
2020-4-9
发表于 2020-4-15 07:44:01 | 显示全部楼层
18718808484 发表于 2020-4-14 20:47
PostMessageA
GetDesktopWindow
SendMessageA
  1. .版本 2

  2. .DLL命令 PostMessageA, 整数型, "user32.dll", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送。如消息投递成功,则返回TRUE(非零)。会设置GetLastError。
  3. .参数 hWnd, 整数型,  , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
  4. .参数 Msg, 整数型,  , 消息标识符
  5. .参数 wParam, 整数型,  , 具体由消息决定
  6. .参数 lParam, 整数型,  , 具体由消息决定
复制代码
回复

使用道具 举报

0

主题

7

帖子

47

积分

初识易语言

Rank: 1

积分
47
威望
0
易币
40
贡献
0
积分
47
UID
3621
在线时间
2 小时
注册时间
2020-4-9
发表于 2020-4-15 07:44:44 | 显示全部楼层
18718808484 发表于 2020-4-14 20:47
PostMessageA
GetDesktopWindow
SendMessageA

.版本 2

.DLL命令 GetDesktopWindow, 整数型, "user32", "GetDesktopWindow", ,
回复

使用道具 举报

0

主题

7

帖子

47

积分

初识易语言

Rank: 1

积分
47
威望
0
易币
40
贡献
0
积分
47
UID
3621
在线时间
2 小时
注册时间
2020-4-9
发表于 2020-4-15 07:46:47 | 显示全部楼层
  
DLL命令名返回值类型公开备 注
PostMessageA整数型 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送。如消息投递成功,则返回TRUE(非零)。会设置GetLastError。
DLL库文件名:
user32.dll
在DLL库中对应命令名:
PostMessageA
参数名类 型传址数组备 注
子程序名返回值类型公开备 注
(未填写子程序名)   
参数名类 型参考可空数组备 注
参数名类 型参考可空数组备 注
hWnd整数型   接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
Msg整数型   消息标识符
wParam整数型   具体由消息决定
lParam整数型   具体由消息决定


  
DLL命令名返回值类型公开备 注
PostMessageA整数型 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送。如消息投递成功,则返回TRUE(非零)。会设置GetLastError。
DLL库文件名:
user32.dll
在DLL库中对应命令名:
PostMessageA
参数名类 型传址数组备 注
子程序名返回值类型公开备 注
(未填写子程序名)   
参数名类 型参考可空数组备 注
参数名类 型参考可空数组备 注
hWnd整数型   接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
Msg整数型   消息标识符
wParam整数型   具体由消息决定
lParam整数型   具体由消息决定


回复

使用道具 举报

0

主题

7

帖子

47

积分

初识易语言

Rank: 1

积分
47
威望
0
易币
40
贡献
0
积分
47
UID
3621
在线时间
2 小时
注册时间
2020-4-9
发表于 2020-4-15 07:48:07 | 显示全部楼层
  
DLL命令名返回值类型公开备 注
SendMessageAint 将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。
DLL库文件名:
user32.dll
在DLL库中对应命令名:
SendMessageA
参数名类 型传址数组备 注
子程序名返回值类型公开备 注
(未填写子程序名)   
参数名类 型参考可空数组备 注
参数名类 型参考可空数组备 注
hWnd整数型   其窗口程序将接收消息的窗口的句柄。
Msg整数型   指定被发送的消息。
wParamint   指定附加的消息特定信息。
lParamint   指定附加的消息特定信息。


回复

使用道具 举报

4

主题

111

帖子

1271

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
1271

终生成就赞助会员

威望
198
易币
764
贡献
0
积分
1271
UID
3164
在线时间
12 小时
注册时间
2020-3-29
 楼主| 发表于 2020-4-15 21:30:35 | 显示全部楼层
一只易猫 发表于 2020-4-15 07:48
[ecode=5].版本 2

.DLL命令 SendMessageA, int, "user32.dll", "SendMessageA", , 将指定的消息发送到一个 ...

有E.程序吗 搞个下载组合一起 我老是搞错
回复

使用道具 举报

4

主题

111

帖子

1271

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
1271

终生成就赞助会员

威望
198
易币
764
贡献
0
积分
1271
UID
3164
在线时间
12 小时
注册时间
2020-3-29
 楼主| 发表于 2020-4-18 21:01:59 | 显示全部楼层
有人吗有人吗有人吗吗
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【选择右侧内容,快速回复】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大漠插件注册码无须等1-3号

QQ|一:站内所有资源均来自互联网收集或用户上传分享,本站不拥有此类资源的版权。 作为网络服务提供者,对转载行为的发生不具备充分的监控能力。但是当版权拥有者提出侵权并出示充分的版权证明材料时,易语言吧负有移除转载作品以及停止继续传播的义务。在满足前款条件下采取移除等相应措施后不为此向原发布人承担违约责任,包括不承担因侵权不成立而给原发布人带来损害的赔偿责任。 用户免费分享产生,如果侵犯了你的权益,联系QQ:3066137757|Archiver|手机版|小黑屋|易语言吧

GMT+8, 2024-11-23 05:40 , Processed in 0.283407 second(s), 39 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表