当前位置 : 主页 > 编程语言 > delphi >

delphi – 在进程之间移动数据

来源:互联网 收集:自由互联 发布时间:2021-06-23
我问这个的原因是寡妇不支持在进程之间进行通信的好方法.所以我想为 Windows进程之间的通信点创建一个DLL.线程由进程拥有,不能提供给另一个进程. 每个线程都有自己的堆栈. 如果加载
我问这个的原因是寡妇不支持在进程之间进行通信的好方法.所以我想为 Windows进程之间的通信点创建一个DLL.线程由进程拥有,不能提供给另一个进程.
每个线程都有自己的堆栈.
如果加载了DLL(loadlibray)并且调用了一个DLL函数,它会向windows请求内存.我写的是认为线程仍然由同一进程拥有并将内存分配到同一进程中.

所以我想我可以转向程序集将一个小内存块重新分配给另一个进程.创建一个关键部分,将数据复制到另一个(已创建的)内存块,并使用out up设置窗口返回原始块到其原始进程.有没有人以前这样做过.或者是更好的方式.

最好的祝福,
Lex Dean.

我看到其他方法相当快,但我想要一个非常快速的方法,有点头脑.管道和互联网显然可以工作,但不是最好的选择,但很容易实现(感谢提供这样的建议家伙).我想有时会以相当规律的间隔发送相当多的500字节块.我喜欢WM_COPYDATA因为它看起来很快,我在互联网上一直在寻找的最大问题是: – GetCurrentProcess和DuplicateHandle来获得真正的处理.寻找其他过程.并使用消息设置内存,然后使用WM_COPYDATA.我只需要两条消息a)指针和大小b)数据已被复制.
       我的应用程序过程很容易’GetCurrentProcess’,除了它是一个伪句柄,总是$FFFFFFE.我需要真正的进程句柄,互联网上没有任何正文提供了DuplicateHandle的示例.这就是让我难过的原因.你能告诉我一个DuplicateHandle的例子吗,那是什么让我难过?

我不喜欢转向一个表格来获取句柄,因为一个应用程序并不总是具有当前形式.
我不喜欢转向一个表格来获取句柄,因为一个应用程序并不总是具有当前形式.
            在Delphi中,我已经看到使用TSpeedButton发送消息,以便在应用程序之间建立一个简单的快速通信方法,我估计这些方法最常使用大约80条指令.所以我仍然想着思考dll. Mads Elvheim发送的示例与我已经知道的相同.
              我仍然愿意理解使用我自己的* .Dll的任何其他选项
因为我的应用程序对我很重要,所以只需在* .DLL上注册/取消注册它自己的进程,而不是一直搜索以查看进程是否是最新的.
这是我在进程之间使用* .DLL管理内存的方式,但我没有被告知.
对我来说DLL并不难实现,因为我已经有了自己的操作.

真正的底线是访问窗口以创建一个很好的选择.因为我对想法很开放.甚至是进程之间的组装指令或Windows调用.但是我不知道通过做违法的事情让法庭崩溃.
所以请举例说明你做了什么,这是我的需要.这很快,我很感兴趣,因为我最有可能会使用它.

我有一个基于命名管道的非常快速的IPC(进程间通信)解决方案.它非常快速且易于使用(它隐藏了您的实际实现.您只需使用数据包).还经过测试和验证.您可以在此处找到代码和演示.

http://www.cromis.net/blog/downloads/cromis-ipc/

它也适用于同一LAN中的计算机.

网友评论