从32位进程调用64位DLL上的LoadLibrary

问题描述:

我有一个32位exe,需要在检测到操作系统是64位时动态加载64位dll。这可能通过LoadLibrary?如果没有,是否有另一种方法来实现相同的目标?从32位进程调用64位DLL上的LoadLibrary

+4

在附注中,32位指令集称为“x86”,而不是“x32”。这几天真的没什么意义,但我想8086值得记住:) – sbk 2010-03-18 09:23:16

您不能在同一进程中混合使用64位和32位代码。您需要一个32位版本的DLL。

如前所述,32位代码无法在同一进程中加载​​64位代码。您必须将其加载到不同的进程(CreateProcess()?)中并使用IPC进行协调。

+1

这里有一个链接到一组在IPC上做IPC的方法:http://msdn.microsoft.com/en-us/library/ aa365574(VS.85)的.aspx。另外检查我的答案在另一个线程上做更多的方法: http://stackoverflow.com/questions/446411/remote-procedure-calls/446615#446615 – Laserallan 2010-03-17 23:46:33