我当前使用以下函数来注册处理上下文菜单调用的dll。如何从32位应用程序注册64位DLL(在64位操作系统上)
function RegisterLibrary(szLibrary: String): Integer;
var
hLib: THandle;
drs: TDllRegisterServer;
begin
// Attempt to load the library
hLib := LoadLibrary(PChar(szLibrary));
// Handle check
if IsHandle(hLib) then
begin // Get the register function
@drs := GetProcAddress(hLib, LIB_REGISTER);
if Assigned(@drs)
then Result := drs // Make the function call
else Result := GetLastError; // Return last error
// Unload the library
FreeLibrary(hLib);
end else
Result := GetLastError; // Return last error
end;
不幸的是,它试图从我的32位应用程序注册64位DLL时不起作用。
是否有任何替代方法从我的32位应用程序(Delphi编译)注册我的64位DLL(用免费pascal编译)?
我想我可以调用C:\ WINDOWS \ SYSTEM \ regsvr32.exe的”/S “文件名”,但想知道如果我有任何其他替代
感谢
为什么选择投票?我说什么不是这个问题的正确答案? – 2009-09-19 14:30:06
这一切都出来了;) – rpetrich 2009-09-19 14:50:58