鼠标虚拟键盘

鼠标虚拟键盘 公开 已发布

如何安装动作?
当前审核状态:已发布 revision 3 1.x 最低版本 1.38.15 正文大小 75.2 KB 预览此版本
更新说明:Legion R7000 鼠标虚拟键盘 v4.3.0 ## 本版修复重点 1. 修复 v4.2.0 的 C# 编译错误:`MainForm` 不再从密封的 `NoActivateForm` 派生。新版将 `NoActivateForm` 定义为可继承类,并在静态检查中禁止再次声明为 `sealed`。 2. 重写输入注入结构:按 Win32 的 `INPUT / INPUTUNION / KEYBDINPUT / MOUSEINPUT` 内存布局声明,运行时记录 `INPUT size`、指针位数、发送数量和 Win32 错误码。 3. 按键由单个无焦点自绘控件处理,避免大量 WinForms Button 抢焦点、闭包错绑和视觉不一致。 4. 点击按键时即时捕获前台目标窗口;悬浮键盘使用 `WS_EX_NOACTIVATE + MA_NOACTIVATE`,不会把输入焦点切换到自身。 5. `SendInput` 不完整时自动使用 `keybd_event` 兼容回退,并在状态栏和日志中提示权限问题。
版本 3 2026/8/3 11:40:52 Legion R7000 鼠标虚拟键盘 v4.3.0 ## 本版修复重点 1. 修复 v4.2.0 的 C# 编译错误:`MainForm` 不再从密封的 `NoActivateForm` 派生。新版将 `NoActivateForm` 定义为可继承类,并在静态检查中禁止再次声明为 `sealed`。 2. 重写输入注入结构:按 Win32 的 `INPUT / INPUTUNION / KEYBDINPUT / MOUSEINPUT` 内存布局声明,运行时记录 `INPUT size`、指针位数、发送数量和 Win32 错误码。 3. 按键由单个无焦点自绘控件处理,避免大量 WinForms Button 抢焦点、闭包错绑和视觉不一致。 4. 点击按键时即时捕获前台目标窗口;悬浮键盘使用 `WS_EX_NOACTIVATE + MA_NOACTIVATE`,不会把输入焦点切换到自身。 5. `SendInput` 不完整时自动使用 `keybd_event` 兼容回退,并在状态栏和日志中提示权限问题。
操作人 时间 分值 意见及建议 状态变更
*系统* 2026-08-05 17:27 已提交,待审核 已发布
sharklaka 2026-08-05 17:27 5
*系统* 2026-08-03 11:40 (发布或更新动作) 已提交,待审核 已提交,待审核
版本 2 2026/8/3 11:13:40 Legion R7000 鼠标虚拟键盘 v4.2.0 ## 新增的输入可靠性机制 - 完整定义 `MOUSEINPUT`、`KEYBDINPUT`、`HARDWAREINPUT` 和 `INPUTUNION`,保证 x86/x64 的 `cbSize` 正确。 - 每次发送都检查 `SendInput` 返回的事件数量。 - 失败时写入 Win32 错误码,并自动尝试 `keybd_event` 兼容模式。 - 每 160 毫秒跟踪最后一个有效前台窗口。 - 悬浮窗使用 `WS_EX_NOACTIVATE`,并处理 `WM_MOUSEACTIVATE = MA_NOACTIVATE`。 - 发送前再次恢复记录的目标窗口。 - 检测目标程序和当前进程的管理员权限差异。 - 日志记录目标窗口标题、发送方法、请求/成功事件数和结构体大小。 ## 视觉和布局升级 - 更接近 Legion R7000 的紧凑全尺寸布局。 - 独立下沉式方向键。 - 完整四列数字键盘。 - 数字键盘 `+`、`Enter` 为纵向双倍高度,`0` 为双倍宽度。 - WASD 使用蓝色电竞强调色。 - 按键使用圆角、渐变、底部阴影和细边框。 - 普通按键发送成功显示绿色,失败显示红色。 - Ctrl、Shift、Alt、Win、Fn 临时状态为蓝色,锁定状态为橙色。 - 标题栏显示置顶和边缘自动折叠状态。 - 底部持续显示目标窗口、修饰键和透明度。 ## 悬浮功能 - 标题栏拖动。 - 置顶开关。 - 最小化到托盘,双击托盘图标恢复。 - 四边吸附。 - 停靠后鼠标移出自动折叠,移入自动展开。 - 鼠标位于键盘上方时滚轮调节透明度,范围 35%–100%。 - 保存位置、透明度、置顶、停靠和自动折叠设置。
操作人 时间 分值 意见及建议 状态变更
*系统* 2026-08-03 11:13 (发布或更新动作) 已发布 已提交,待审核