在“控制面板 > 轻松访问中心 > 使键盘更易于使用”中,有一个“下划线键盘快捷键和访问键”选项。
有没有办法以编程方式打开和关闭它?我正在使用 Visual Basic 脚本,但可以使用 .NET。
在“控制面板 > 轻松访问中心 > 使键盘更易于使用”中,有一个“下划线键盘快捷键和访问键”选项。
有没有办法以编程方式打开和关闭它?我正在使用 Visual Basic 脚本,但可以使用 .NET。
运行注册表编辑器并转到 HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
现在创建或修改一个名为 On 的字符串值 (REG_SZ) 并将其值设置为 1
信息来自: http: //www.windowsvalley.com/get-underlined-keyboard-shortcuts-and-access-keys-permanently/
AFAIK,除了自动执行适当的 GUI 操作(打开控制面板,打开/关闭选项并应用更改)之外,无法以编程方式切换此选项。在这种情况下,我建议使用AutoIt来自动切换选项。
事实证明,您可以在自己的应用程序中以编程方式更改“下划线键盘快捷键”选项。您需要根据以下位置的文档将 WM_UPDATEUISTATE 消息发送到您的主窗体:https ://docs.microsoft.com/en-us/windows/win32/menurc/wm-updateuistate
既然你提到了 Visual Basic,下面是如何做到这一点:
Private Const WM_UPDATEUISTATE = &H128
Private Const UIS_CLEAR = &H2
Private Const UISF_HIDEACCEL = &H2
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As
Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
然后在“Form_Load”事件中发送消息,它将激活该表单上所有控件和菜单下划线的键盘快捷键:
Private Sub Form_Load()
PostMessage Me.hWnd, WM_UPDATEUISTATE, UIS_CLEAR + UISF_HIDEACCEL * 65536, 0
End Sub