每个线程都有自己的堆栈.
如果加载了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调用.但是我不知道通过做违法的事情让法庭崩溃.
所以请举例说明你做了什么,这是我的需要.这很快,我很感兴趣,因为我最有可能会使用它.
http://www.cromis.net/blog/downloads/cromis-ipc/
它也适用于同一LAN中的计算机.