dynamiczne ładowanie kernela

0

mam taką funkcje ładowaną statycznie:

interface
function RegisterServiceProcess(dwProcessId,dwType:dword): 
Integer;stdcall;external 'kernel32.dll'

procedure x
begin
RegisterServiceProcess(GetCurrentProcessID, 1);
end;

jak ja załadować dynamicznie?
próbowalem takiego kodu, ale nie mam wystarczających parametrów:

procedure TMainForm.dynamic_lib;
var
dll : THandle;
RegisterServiceProcess(dwProcessId,dwType:dword) : Integer : function;
begin
dll := LoadLibrary('kernel32.dll');
try
  @kern := GetProcAddress(dll, nil);
  if @kern = nil then raise Exception.Create('Gdzie jest ta chamska procedura kernela? Niedobry kernel.');
  kern(GetCurrentProcessID, 1);
finally
  FreeLibrary(dll);
end;
end;

Dzieki za ewentualna pomoc :)

// znaczniki < delphi >, a nie [ delphi ] - ŁF

0

a jak deklarujesz kern?

var
  kern : function(dwProcessId,dwType:dword): Integer;stdcall;
0

Dodam tylko jeszcze, że funkcja RegisterServiceProcess jest w kernelu w Win95/98/Meeeee. W WinNT/2000 (i chyba XP) jej po prostu nie ma i próba wywołania RSP skończy się komunikatem: "Nie znaleziono punktu wejścia procedury RegisterServiceProcess w bibliotece kernel32.dll.".

0

A ja bym dodał: http://noribo.w.interia.pl/faq/faq.html
Pytanie: 52

1 użytkowników online, w tym zalogowanych: 0, gości: 1