ax 開頭表示是一個 ActiveX 元件,大部分 ActiveX 元件只有 32 位元版本,先將 CPU 指定為 x86
如何使用 axMsRdpClient10 (C#) 在窗口化 RDP 会话中启用 Windows 键快捷键
未 来
40
信譽點數
大家好,我正在用 C# 和 axMsRdpClient10 组件开发一个自定义远程桌面应用程序。我把主窗体设置成了固定窗口大小(所以它不是全屏模式)。连接一切正常,但我遇到了一个奇怪的问题:键盘上的 Windows 键完全无法传递给远程计算机。每次我按下 Windows 键,都会弹出本地主机的开始菜单。我尝试在连接前添加 RdpClient.AdvancedSettings2.EnableWindowsKey = 1;,但键盘按键仍然无效。请问有人知道如何在窗口模式下强制键盘快捷键直接连接到远程桌面会话吗?非常感谢任何建议!
Windows for business | Windows Server | 裝置和部署 | 設定應用程式群組
由問題作者接受的回答
由問題作者接受的回答
VPHAN
45,825
信譽點數
獨立顧問
Hi 未 来,
你看到的行为与远程桌面 ActiveX 控件原生处理系统级按键有关。虽然尝试启用WindowsKey属性看似合乎逻辑的第一步,但实际上Microsoft在现代RDP客户端中已弃用该特定设置,意味着组件完全忽略了它。
现代且支持的方法依赖于 RDP 客户端对象的安全设置界面中的 KeyboardHookMode 属性。无论应用窗口大小如何,都要将所有 Windows 按键和系统快捷方式直接路由到远程会话,必须将该钩子模式设置为 1。你可以通过在C#代码中将客户端组件的SecuredSettings.KeyboardHookMode或SecuredSettings2.KeyboardHookMode属性指定为1来实现这一点。只要在启动连接方法前严格设置该属性,因为在激活或连接启动时修改安全会话参数会触发异常,无法应用更改。
希望这个回答能给你带来一些有用的信息。如果有,请点击 “接受答案”。如果你有任何问题,欢迎留言。
副总统