我需要使用vcl应用程序来传达服务应用程序。 我的旧应用程序是一个控制台和控制台通信vcl应用程序没有问题。 现在我将控制台应用程序迁移到srv应用程序。 旧的通信使用了FindWindow和SendMessage。
我知道我可以使用套接字或命名管道进行通信,但是,我现在不想更改结构,因为它会延迟迁移。
有人知道如何“修复”它吗?
TKS
答案 0 :(得分:8)
FindWindow无法在Vista或Win7中使用服务,因为服务运行在与用户应用程序不同的桌面上;也不会发送SendMessage,因为你无法获得窗口句柄。这意味着如果您支持这些版本的操作系统,则必须在它们之间使用不同的通信方式。
答案 1 :(得分:1)
ControlService会代替SendMessage吗?我认为你应该能够将你现有的结构传递给它。
答案 2 :(得分:1)
你无法解决它。服务现在在不同的会话中运行,无法访问用户的桌面。该解决方案是一个命名管道。