易语言通过PostMessageA消息群发微信窗口-虚拟键盘方式

2017-01-14 10:20:17来源:http://www.jianshu.com/p/b3144db161dc作者:大华人点击

易语言通过PostMessageA消息群发微信窗口-虚拟键盘方式

不占用键盘和鼠标,真正的独家发布。

demo的代码自行完善。

======DLL调用==================

.版本 2

.DLL命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId"

.参数 hWnd, 整数型, , 0

.参数 lpdwProcessId, 整数型, , 0

.DLL命令 AttachThreadInput, 逻辑型, "user32", "AttachThreadInput"

.参数 idAttach, 整数型, , 0

.参数 idAttachTo, 整数型, , 0

.参数 fAttach, 整数型, , 0

.DLL命令 GetCurrentThreadId, 整数型, "kernel32.dll", "GetCurrentThreadId", , 获取当前线程一个唯一的线程标识符

.DLL命令 PostMessageA, 整数型, "user32.dll", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送。如消息投递成功,则返回TRUE(非零)。会设置GetLastError。

.参数 hWnd, 整数型, , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)

.参数 Msg, 整数型, , 消息标识符

.参数 wParam, 整数型, , 具体由消息决定

.参数 lParam, 整数型, , 具体由消息决定

.DLL命令 SetKeyboardState, 逻辑型, "user32", "SetKeyboardState"

.参数 lpKeyState, 字节型, 数组, 0

.DLL命令 GetKeyboardState, 逻辑型, "user32", "GetKeyboardState"

.参数 lpKeyState, 字节型, 数组, 0

.DLL命令 GetKeyState, 整数型, "user32", "GetKeyState"

.参数 nVirtKey, 整数型, , 0

======常量===============

.版本 2

.常量 WM_KEYDOWN, "256", , 按下一个键

.常量 WM_KEYUP, "257", , 释放一个键

======子程序=================

.版本 2

.子程序 wxPM, , , 把剪贴板内容头投递到微信里面

.参数 hwnd, 整数型, , 微信群窗口句柄

.局部变量 tid, 整数型

.局部变量 key, 字节型, , "256"

hwnd = 265104  ' 设置句柄

tid = GetWindowThreadProcessId (hwnd, 0)  ' 获取微信窗口进程标识

AttachThreadInput (GetCurrentThreadId (), tid, 1)  ' 注入线程,共享消息队列,

GetKeyboardState (key)  ' 取得键盘上每个虚拟键当前的状态

key [18] = 128  ' 按下ctrl

SetKeyboardState (key)  ' 设置每个虚拟键当前在键盘上的状态

PostMessageA (hwnd, #WM_KEYDOWN, #V键, 0)  ' 触发按下V键

PostMessageA (hwnd, #WM_KEYUP, #V键, 0)  ' 触发弹起V键

PostMessageA (hwnd, #WM_KEYDOWN, #回车键, 0)  ' 触发按下回车键

' PostMessageA (hwnd, #WM_KEYUP, #回车键, 0)




最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台