//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言虚拟键盘源码系统结构:初始化键代码数组,加入键代码数组,输出键代码,查看键盘布局,键盘钩子_安装,键盘钩子_卸载,KeyboardProc,IsHotKey,SetWindowsHookEx,GetModuleHandle,GetCurrentThread,GetCurrentThreadId,CallNextHookEx,UnhookWindowsHookEx,GetKeyNameText,GetKeyState,ShellAbout,ShellExecute, ======窗口程序集_启动窗口 || ||------__启动窗口_创建完毕 || ||------__启动窗口_将被销毁 || ||------__启动窗口_尺寸被改变 || ||------初始化键代码数组 || ||------加入键代码数组 || ||------输出键代码 || ||------_按钮_ESC_被单击 || ||------_菜单_退出_被选择 || ||------查看键盘布局 || ||------_菜单_精简_被选择 || ||------_菜单_标准_被选择 || ||------_菜单_完整_被选择 || ||------_菜单_多媒体按键_被选择 || ||------_菜单_关于_被选择 || ||------_菜单_作者网站_被选择 || || ======键盘钩子程序集 || ||------键盘钩子_安装 || ||------键盘钩子_卸载 || ||------KeyboardProc || ||------IsHotKey || || ======调用的Dll || ||---[dll]------SetWindowsHookEx || ||---[dll]------GetModuleHandle || ||---[dll]------GetCurrentThread || ||---[dll]------GetCurrentThreadId || ||---[dll]------CallNextHookEx || ||---[dll]------UnhookWindowsHookEx || ||---[dll]------GetKeyNameText || ||---[dll]------GetKeyState || ||---[dll]------ShellAbout || ||---[dll]------ShellExecute 调用的DLL命令: .DLL命令SetWindowsHookEx,整数型,"user32","SetWindowsHookExA",,安装钩子过程 .参数idHook,整数型 .参数lpfn,整数型 .参数hmod,整数型 .参数dwThreadId,整数型 .DLL命令GetModuleHandle,整数型,"kernel32","GetModuleHandleA",,获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError .参数lpModuleName,文本型,,指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD; .DLL命令GetCurrentThread,整数型,"kernel32","GetCurrentThread",,获取当前线程的一个伪句柄 当前线程的伪句柄 .DLL命令GetCurrentThreadId,整数型,"kernel32","GetCurrentThreadId",,获取当前线程一个唯一的线程标识符 当前的线程标识符 .DLL命令CallNextHookEx,整数型,"user32","CallNextHookEx",,调中链中的下一个挂钩过程 .参数hHook,整数型 .参数ncode,整数型 .参数wParam,整数型 .参数lParam,整数型 .DLL命令UnhookWindowsHookEx,整数型,"user32","UnhookWindowsHookEx",,从钩子链中删除函数 .参数hHook,整数型 .DLL命令GetKeyNameText,整数型,"user32","GetKeyNameTextA",,在给出扫描码的前提下,判断键名 lpBuffer中载入的键名的实际长度 .参数lParam,整数型,,位0到5=0;位16到23=按键的扫描码;位24=增强型键盘上的扩展位;位25=如设为1,表示忽略左右Shift和Ctrl键的区别 .参数lpBuffer,文本型,,字串预先初始化成至少nSize+1字节,以便随同键名载入 .参数nSize,整数型,,字串的最大长度; .DLL命令GetKeyState,整数型,"user32","GetKeyState",,针对已处理过的按键,在最近一次输入信息时,判断指定虚拟键的状态 如开关键打开,则位0设为1(开关键包括CapsLock,;NumLock,ScrollLock);如某个键当时正处于按下状态,则位15为1;如已经抬起,则为0 .参数nVirtKey,整数型,,欲测试的虚拟键键码。对字母、数字字符(A-Z、a-z、0-9),用它们实际的ASCII值; .DLL命令ShellAbout,整数型,"shell32.dll","ShellAboutA",,显示SHELLABOUT对话框 .参数hwnd,整数型 .参数szApp,文本型 .参数szOtherStuff,文本型 .参数hIcon,整数型 .DLL命令ShellExecute,整数型,"shell32.dll","ShellExecuteA",,;查找与指定文件关联在一起的程序的文件名 非零表示成功,零表示失败。会设置GetLastError .参数hwnd,整数型,,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框 .参数lpOperation,文本型,,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它 .参数lpFile,文本型,,想用关联程序打印或打开一个程序名或文件名 .参数lpParameters,文本型,,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数 .参数lpDirectory,文本型,,想使用的完整路径 .参数nShowCmd,整数型,,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数;
