我正在尝试使用keybd_event()将某些键按到远程桌面应用程序。对于最简单的测试,我只是在远程会话中打开记事本,并在本地计算机上运行调用keybd_event(),当前用户将注意力放在记事本上。
不幸的是,它似乎没有将任何输入发送到远程桌面。
如果我在本地计算机上运行具有焦点的本地记事本实例的应用程序,它会准确输入我想要键入的内容没有问题。
有没有人有任何想法为什么这不起作用?显然,我可以手动输入远程桌面会话。
由于
答案 0 :(得分:1)
任何远程桌面程序都是连接远程系统的网关,它是一个中介。通过任何方法(如keybd_event
,SendInput
,PostMessage
等)向该程序发送任何键盘消息都将被RDP程序默默地吸收。它根本不会消耗它,并且不会将它传递给连接的资源。
最有可能(我不确定),程序可能会记录API以向其发送一些消息,例如close-session,open-session或send-message-to-connected session。使用给定的API(函数,COM接口),可以向连接的资源发送一些输入。