gpt4 book ai didi

delphi - 服务不会处理消息

转载 作者:行者123 更新时间:2023-12-03 18:56:20 26 4
gpt4 key购买 nike

我创建了一个使用 Windows 消息系统的 Windows 服务。当我从调试器测试应用程序时,消息可以很好地通过,但是当我安装它时,我的消息... 14 分钟前问

弗拉基米尔
1tuga

最佳答案

服务通常不接收窗口消息。它们根本不一定有窗 Handlebars 。即使他们这样做,它们也会在单独的桌面上运行。程序无法从一个桌面向另一个桌面发送消息,因此服务只能从另一个服务或从服务启动的程序接收消息。

在 Windows Vista 之前,您可以将服务配置为与桌面交互。这使得该服务与登录用户在同一桌面上运行,因此以该用户身份运行的程序可以将消息发送到您的服务的窗口。不过,Windows Vista 隔离了服务;他们不能再与任何用户的桌面交互。

还有许多其他方式与服务进行通信。它们包括命名管道、邮槽、内存映射文件、信号量、事件和套接字。

例如,使用套接字,您的服务可以监听打开的端口,并且需要与其通信的程序可以连接到该端口。这可能会打开远程管理的大门,但您也可以将服务限制为仅监听本地连接。

以上所有内容都试图告诉您您采取了错误的方法。但也有手头的问题。您的程序在调试器中以一种方式运行,而在调试器外部以另一种方式运行。如果未安装,您首先如何调试该服务?您的服务以什么用户帐户运行?你的调试器?您尝试过哪些不涉及调试器的调试技术(例如 writeln 到日志文件以跟踪程序的操作)?

关于delphi - 服务不会处理消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/356506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com