从NT服务发送消息到远程桌面会话

我怎样才能发送从远程桌面会话中启动的应用程序的nt服务sendmessage&postmessage? 目前我通过应用程序之间的udp通信暂时解决了这个问题。

Solutions Collecting From Web of "从NT服务发送消息到远程桌面会话"

您不能通过会话边界发送消息。 所以你需要像TCP / IP,套接字,命名管道等IPC解决方案。

制作一个执行sendmessage / postmessage的程序:

程序sendit; 使用转换器; 开始exitcode:= sendmessage(covert1(paramstr(1)),convert2(…. etc结束。

然后在与CreateProcessAsUser的正确会话中运行它。 您可以等待( WaitForSingleObject )程序退出,此时sendmessage完成。 这是非常缓慢,虽然:)。

您也可以使用管道/ IPC,但仍然可以使用CreateProcessAsUser启动“服务器”。 使用Jwa获取令牌等。

并使用比我刚刚做的更好的名字:)。

使用WTSSendMessage api:在指定的远程桌面服务会话的客户端桌面上显示一个消息框。

http://msdn.microsoft.com/nl-nl/library/windows/desktop/aa383842(v=vs.85).aspx

或者使用Jedi Windows安全库,把它包装在漂亮的delphi中,就像对象一样