//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言触摸键盘源码系统结构:切换数字,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"
