Andrzej napisał:
BŁAGAM o pomoc:
>-proszę napisac w odpowiedzi, jak zamieścić w bibliotece dll procedurę szukającą pliki aaa.exe i ddd.exe na wszystkich dostępnych dyskach. Procedura ta ma być wywoływana z programu. Proszę o wzór kodu... {brawo}
>Jest mi to na prawdę bardzo potrzebne więc z góry dziękuję. :-)
>
>--
>Pozdrawiam
>---
>Pracuję w Delphi 6
Nie chce mi sie pisac wszystkiego, wiec w skrocie.
w DLL:
function CreateHook : Boolean; stdcall;
begin
{tresc funkcji}
end;
exports
CreateHook;
w programie mozna ladowac procedury statycznie lub dynamicznie. statycznie jest kapke latwiej, ale napisze dynamicznie bo taki mam napisany program, z ktorego wyciagne przyklad.
w programie:
type
TForm1 = class(TForm)
{...}
end;
TCreateHook=function : Boolean; stdcall;
{...}
var
Form1: TForm1;
DLLInstance : THandle;
CreateHook:TCreateHook;
{gdzies w programie}
DLLInstance:=LoadLibrary('Hook1DLL.dll'); *nazwa pliku DLL
If DLLInstance=0 then
begin
Label1.Caption:='DLL not loaded';
end
else
@CreateHook:=GetProcAddress(DllInstance,'CreateHook'); *odszukanie adresu procedury
*nazwa procedury tutaj musi byc taka jak w DLLu
if @CreateHook<>nil then
Created:=CreateHook; *jesli adres znaleziony, uzyj funkcji
--Pawel
Delphi6