0

我正在尝试使用 SetClipboardViewer 获取剪贴板事件。当我覆盖该功能时,它以 Windows 形式工作:

受保护的覆盖无效 WndProc(参考消息 m)

属于基类 System.Windows.Forms。

问题是我想在 Windows 服务中做到这一点。

有人知道如何在 Windows 服务中获取剪贴板事件吗?

谢谢。

4

1 回答 1

2

剪贴板属于会话(实际上是会话的 winstation),并且没有交互式用户可以在服务会话中进行剪贴板复制。当然,您可以有一个剪贴板侦听器进程来中继交互式会话中的剪贴板更改。您可以使用跨会话工作的任何协议,例如套接字、共享内存或命名管道。Rdpclip.exe的作用与此类似,但它通过 WTS 虚拟通道发送数据。

一些剪贴板内容在跨越会话边界时有意义(例如 CF_TEXT),而有些则没有意义(例如,带有来自映射驱动器的路径的 CF_HDROP)。

于 2013-01-10T19:03:44.697 回答