我想构建一个应用程序以编程方式将击键发送到 Windows 桌面,而不是指定的窗口。 例如,如果我们按下箭头键,那么桌面上的图标就会被选中…… 可能吗?
最佳答案
SendInput windows API 会做你想做的事。事实上,将输入发送到目标窗口是一项更困难的任务。 SendInput 会将输入发送到与调用此 API 的进程的 Windows session 对应的虚拟输入队列。如果您愿意,输入或按键将落在任何事件的桌面上,并落在前台的任何窗口内。
如果显示桌面图标的 Listview 控件是前景窗口,那么您将发送的箭头键将移动选择 - 否则它可能会移动记事本上的光标(如果记事本是前景窗口)。 注意:位于顶部的窗口不一定是前景窗口。查看 SetForegroundWindow API 以了解有关前景窗口含义的更多信息。
关于c# - 将 key 发送到 Windows 桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15709991/