Delphi 使用ChangeWindowMessageFilterEx会使我的服务变弱吗

Delphi 使用ChangeWindowMessageFilterEx会使我的服务变弱吗,delphi,ipc,firewall,Delphi,Ipc,Firewall,我使用Delphi。我的服务器应用程序是一个Windows服务应用程序,包含用于在不同计算机之间通信的套接字和FTP组件。我还有一个UI,我想用IPC(Windows消息:WM_COPYDATA)与之通信 我已经分离了我的应用程序,因为防火墙限制使用套接字的常规应用程序 问题:使用ChangeWindowMessageFilterEx是否会导致我的服务应用程序被Windows防火墙或防病毒防火墙阻止?回答您的问题-否,它们不会因为使用ChangeWindowMessageFilter/Ex()而

我使用Delphi。我的服务器应用程序是一个Windows服务应用程序,包含用于在不同计算机之间通信的套接字和FTP组件。我还有一个UI,我想用IPC(Windows消息:WM_COPYDATA)与之通信

我已经分离了我的应用程序,因为防火墙限制使用套接字的常规应用程序


问题:使用ChangeWindowMessageFilterEx是否会导致我的服务应用程序被Windows防火墙或防病毒防火墙阻止?

回答您的问题-否,它们不会因为使用
ChangeWindowMessageFilter/Ex()
而阻止您。但是,请注意,窗口消息不能跨越会话边界。服务在会话0中运行,用户(及其执行的UI应用)在会话1+中运行。因此,您不能将
WM_COPYDATA
消息从您的服务发送到UI,反之亦然。您必须使用不同的IPC解决方案,如管道、套接字、COM等。仅供参考,防火墙会像阻止使用套接字的UI应用程序一样轻松地阻止使用套接字的服务。我目前正在读取/写入SQL Lite数据库。但是我想减少阅读的频率。我所要做的就是在需要时指示另一个EXE只读。共享内存能否跨会话工作?与硬盘相比,我更愿意频繁地从内存中读取数据。“我所要做的就是指示另一个EXE仅在需要时读取”——你可以这样做。“共享内存是否可以跨会话工作?”-是的,但前提是您使用,并且共享内存的应用程序具有在全局命名空间中创建文件映射对象所需的权限。