易语言触摸键盘源码
系统结构:切换数字,mouseproc,输入法设定,取输入法,寻找子窗口_,SetFocus,SetWindowLong,取进程线程标识符_,GetWindowLong,SwitchToThisWindow,取输入法列表,输入法选择,GetKeyboardLayoutName,ImmGetDescriptionA,发送消息1,设置系统钩子_,呼叫下一钩子_,AttachThreadInput,释放系统钩子_,发送消息2,模拟键盘行动_,取实例句柄_,当前线程标志符_,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _窗口软键盘_创建完毕
| |
| |------ _按钮模拟_被单击
| |
| |------ 切换数字
| |
| |------ mouseproc
| |
| |------ 输入法设定
| |
| |------ 取输入法
| |
| |
======调用的Dll
| |
| |---[dll]------ 寻找子窗口_
| |
| |---[dll]------ SetFocus
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ 取进程线程标识符_
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ SwitchToThisWindow
| |
| |---[dll]------ 取输入法列表
| |
| |---[dll]------ 输入法选择
| |
| |---[dll]------ GetKeyboardLayoutName
| |
| |---[dll]------ ImmGetDescriptionA
| |
| |---[dll]------ 发送消息1
| |
| |---[dll]------ 设置系统钩子_
| |
| |---[dll]------ 呼叫下一钩子_
| |
| |---[dll]------ AttachThreadInput
| |
| |---[dll]------ 释放系统钩子_
| |
| |---[dll]------ 发送消息2
| |
| |---[dll]------ 模拟键盘行动_
| |
| |---[dll]------ 取实例句柄_
| |
| |---[dll]------ 当前线程标志符_
调用的DLL命令:
.DLL命令 寻找子窗口_, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
.参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)
.参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索
.参数 欲搜索的类名1, 文本型, , 欲搜索的类名。“”表示忽略
.参数 欲搜索的类名2, 文本型, , 欲搜索的类名。“”表示忽略;
.DLL命令 SetFocus, , , "SetFocus"
.参数 a, 整数型
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.参数 dwNewLong, 整数型, , 由nIndex指定的窗口信息的新值;
.DLL命令 取进程线程标识符_, 整数型, "user32.dll", "GetWindowThreadProcessId", , GetWindowThreadProcessId,获取与指定窗口关联在一起的一个线程和进程标识符
.参数 窗口句柄, 整数型, , hwnd,指定窗口句柄
.参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.DLL命令 GetWindowLong, 整数型, "user32", "GetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.DLL命令 SwitchToThisWindow, , , "SwitchToThisWindow"
.参数 a, 整数型
.参数 b, 逻辑型
.DLL命令 取输入法列表, 整数型, , "GetKeyboardLayoutList"
.参数 nbuff, 整数型
.参数 lpList, 整数型, 数组
.DLL命令 输入法选择, 整数型, , "ActivateKeyboardLayout"
.参数 a, 整数型
.参数 b, 整数型
.DLL命令 GetKeyboardLayoutName, , , "GetKeyboardLayoutNameA"
.参数 pwszKLID, 字节型, 数组
.DLL命令 ImmGetDescriptionA, 整数型, "imm32.dll", "ImmGetDescriptionA"
.参数 hkl, 整数型
.参数 lpsz, 文本型
.参数 uBufLen, 整数型
.DLL命令 发送消息1, 整数型, , "PostMessageA"
.参数 窗口句柄, 整数型
.参数 信息值, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.DLL命令 设置系统钩子_, 整数型, "user32.dll", "SetWindowsHookExA", , SetWindowsHookEx
.参数 钩子类型, 整数型, , idHook
.参数 回调函数地址, 整数型, , lpfn
.参数 实例句柄, 整数型, , hmod
.参数 线程ID, 整数型, , dwThreadId
.DLL命令 呼叫下一钩子_, 整数型, "user32.dll", "CallNextHookEx", , CallNextHookEx
.参数 钩子句柄, 整数型, , hHook
.参数 代码值, 整数型, , ncode
.参数 附加参数1, 整数型, , wParam
.参数 附加参数2, 整数型, 传址, lParam
.DLL命令 AttachThreadInput, , , "AttachThreadInput"
.参数 a, 整数型
.参数 b, 整数型
.参数 c, 逻辑型
.DLL命令 释放系统钩子_, 整数型, "user32.dll", "UnhookWindowsHookEx", , UnhookWindowsHookEx
.参数 钩子句柄, 整数型, , hHook
.DLL命令 发送消息2, 整数型, , "SendMessageA"
.参数 窗口句柄, 整数型
.参数 信息值, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.DLL命令 模拟键盘行动_, 整数型, "user32.dll", "keybd_event", , 这个函数模拟了键盘行动
.参数 键代码, 整数型, , bVk,欲模拟的虚拟键码
.参数 键扫描码, 整数型, , bScan,键的OEM扫描码
.参数 标志值, 整数型, , dwFlags,标志常数
.参数 特定值, 整数型, , dwExtraInfo,通常不用的一个值
.DLL命令 取实例句柄_, 整数型, , "GetModuleHandleA"
.参数 程序名, 整数型
.DLL命令 当前线程标志符_, 整数型, "kernel32", "GetCurrentThreadId"
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。