我目前使用以下函数来注册处理上下文菜单调用的DLL.
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;
Run Code Online (Sandbox Code Playgroud)
不幸的是,当尝试从我的32位应用程序注册64位dll时,它不起作用.
有没有办法从我的32位应用程序(用Delphi编译)注册我的64位dll(用free pascal编译)?
我想我可以调用C:\ Windows\system\regsvr32.exe"/ s"filename"但想知道我是否还有其他选择.
谢谢!