|
#1
|
|||
|
|||
LoadLibrary
Не могу разобраться почему функция GetProcedureAddress не работает. И GetModuleHandle и LoadLibrary возвращают 0.
Код:
procedure GetProcedureAddress(var P: Pointer; const ModuleName, ProcName: string); var ModuleHandle: HMODULE; begin if not Assigned(P) then begin ModuleHandle := GetModuleHandle(PAnsiChar(ModuleName)); if ModuleHandle = 0 then begin ModuleHandle := LoadLibrary(PAnsiChar(ModuleName)); if ModuleHandle = 0 then Exit; end; P := Pointer(GetProcAddress(ModuleHandle, PAnsiChar(ProcName))); if not Assigned(P) then Exit; end; end; procedure TForm1.Button1Click(Sender: TObject); var P: Pointer; begin P := nil; GetProcedureAddress(P, 'kernel32.dll', 'GetVersionExA'); end; |