我正在尝试使用 SetClipboardViewer 获取剪贴板事件。当我覆盖该功能时,它以 Windows 形式工作:
受保护的覆盖无效 WndProc(参考消息 m)
属于基类 System.Windows.Forms。
问题是我想在 Windows 服务中做到这一点。
有人知道如何在 Windows 服务中获取剪贴板事件吗?
谢谢。
我正在尝试使用 SetClipboardViewer 获取剪贴板事件。当我覆盖该功能时,它以 Windows 形式工作:
受保护的覆盖无效 WndProc(参考消息 m)
属于基类 System.Windows.Forms。
问题是我想在 Windows 服务中做到这一点。
有人知道如何在 Windows 服务中获取剪贴板事件吗?
谢谢。
剪贴板属于会话(实际上是会话的 winstation),并且没有交互式用户可以在服务会话中进行剪贴板复制。当然,您可以有一个剪贴板侦听器进程来中继交互式会话中的剪贴板更改。您可以使用跨会话工作的任何协议,例如套接字、共享内存或命名管道。Rdpclip.exe的作用与此类似,但它通过 WTS 虚拟通道发送数据。
一些剪贴板内容在跨越会话边界时有意义(例如 CF_TEXT),而有些则没有意义(例如,带有来自映射驱动器的路径的 CF_HDROP)。