keybd_event() 调用未发送到远程桌面

keybd_event() calls not sending to remote desktop

本文关键字:程桌面 桌面 event 调用 keybd      更新时间:2023-10-16

我正在尝试使用 keybd_event() 按某些键进入远程桌面应用程序。对于最简单的测试,我只是在远程会话中打开记事本,然后在本地计算机上运行调用 keybd_event(),当前用户将重点放在记事本上。

不幸的是,它似乎没有向远程桌面发送任何输入。

如果我在本地计算机上运行应用程序,并且具有记事本的本地实例,则它键入的内容完全符合我想键入的内容,没有问题。

有没有人知道为什么这行不通?显然,我可以手动输入远程桌面会话。

谢谢

任何远程桌面程序都是连接远程系统的网关,它是调解器。通过任何方法(如keybd_eventSendInputPostMessage等)向该程序发送任何键盘消息将被RDP程序静默吸收。它根本不会消耗它,也不会将其传递给连接的资源。

最有可能(我不确定),该程序可能已经记录了向其发送一些消息的 API,例如关闭会话、打开会话或将消息发送到连接的会话。使用给定的API(函数,COM接口),您可以向连接的资源发送一些输入。