我有一个第三方工具,可以发送或接收DDE戳。我一直在使用DDE间谍来监视它和第三方DDE服务器模拟器之间的通信,以便使用Powerbuilder复制这一点。据我所知,这是使用温暖的链接。我尝试使用openchannel,然后是execremote,但是调用的类型被描述为'execute‘。同样,当客户端和模拟器启动时,它们会出现在注册服务器列表中,但是我的应用程序没有/我考虑使用user32.dll,但是我知道大多数DDE调用都不能使用Powerbuilder,因为PB不支持回调。有人能告诉我这方面的情报方向吗?.经过一些调整后,我试着打开一个热链接。单击应用程序上的“戳”按钮,我的powerbuilder触发了热链接警报事件。我可以获取来源等,但没有数据。另外,我需要发送一个指令回来,但所有的响应将做的是发送正确或错误。我有一些来自DDE模拟器的Delphi / Pascal代码,但是DDE调用看起来与Powerbuilder调用非常不同。
发布于 2010-10-08 07:34:55
你找到答案了吗?我不知道我是否完全明白你在做什么,但我认为你需要看一些事情。
StartServerDDE函数将应用程序设置为DDE服务器,请注意,必须打开一个窗口作为DDE会话的句柄,然后编写窗口事件(应用程序级事件不能工作)。这可能就是你没有看到注册服务器的原因。结束DDE服务器时使用StopServerDDE。
在DDE服务器窗口中完成接收、根据需要发送数据的下列事件的代码如下:
RemoteExec事件(客户端发送了请求)使用GetCommandDDE获取客户端发送的命令字符串,使用GetCommandDDEOrigin查看客户端应用程序名称发送的命令
RemoteSend事件(客户端已发送数据)使用GetDataDDE从客户端应用程序获取数据(通过引用字符串)使用GetDataDDEOrigin查看客户端应用程序发送数据的内容
RemoteRequest事件(客户端已请求数据)使用SetDataDDE向客户端DDE应用程序发送数据
我希望这能帮到你。
https://stackoverflow.com/questions/2446779
复制相似问题