我把midas.dll打包到程序里装到别人的system32下,在有的电脑上调用数据时midas.dll还是出错,但是在“开始”--“运行”里手动注册一下程序就可以用了,但是不能这样给用户用啊,所以想写一个console application文件打包进去,安装时调用console application文件直接注册midas.dll不知道这个思路可不可以,console application里注册midas.dll应该怎么写,查了一下没有这方面的知道,请大家帮下忙,真的很急,我用NSIS打的包,在打包程序里能注册更好,请大家帮下忙跪谢大家!
type
TRegisterMode = (regRegister, regUnregister);
function OLERegisterDLLFile(strFileName: string; mode: TRegisterMode): BOOLEAN;
type
TOleRegister = function: HResult;
var
hLib: THandle;
fnAdr: TFarProc;
begin
Result := FALSE; hLib := LoadLibrary(PCHAR(strFileName));
if (hLib > 0) then
begin
try
if (mode = regRegister) then
fnAdr := GetProcAddress(hLib, pchar('DllRegisterServer'))
else
fnAdr := GetProcAddress(hLib, pchar('DllUnregisterServer')); if (fnAdr <> nil) then
Result := (TOleRegister(fnAdr) >= 0);
finally
FreeLibrary(hLib);
end;
end;
end;
string Path;
begin
Path=WINSYSDIR^"midas.dll";
LaunchApp("Regsvr32.exe",Path);
end;