You're here: Snippet Directory » Delphi (11)
Language:

Eine Funktion aus einer DLL nutzen

Language: Deutsch
Programming Language: Delphi
Published by: pumi
Last Update: 5/16/2006
Views: 1230


Description

Hier ein kleines Beispiel anhand der Funktion Shellexecute, wie man sie aus einer dll
dynamisch lädt.
Das hat zb. den Vorteil ,dass man die Unit Shellapi nicht mit einbinden muss.
Aus Gründen der Übersicht wurde nur der Dateiname an die Funktion übergeben.

function _shellexecute(const filename: string): integer;

Code

1 function _shellexecute(const filename: string): integer; 2 //Function als Typ declarieren 3 type TShellExecute = function( 4 HWND : THandle; 5 lpOperation : PChar; 6 lpFile : PChar; 7 lpParameters: PChar; 8 lpDirectory : PChar; 9 nShowCmd : Integer): Integer stdcall; 10 11 var ShellEx: TShellExecute; //Variable vom Funktionstyp vereinbaren 12 libhandle: THandle; //Variable für Handle auf Library 13 begin 14 Result := -1; 15 libhandle := LoadLibrary('SHELL32.dll'); //Handle der Library holen 16 case libhandle of 0: exit; end; //wenn ungültiges Handle dann Exit 17 18 //Pointer auf Funktion in SHELL32.dll an die Variable vergeben 19 @ShellEx := GetProcAddress(libhandle, 'ShellExecuteA'); 20 21 if Assigned(@ShellEx)then //wenn Pointer gültig dann.. 22 begin 23 //Funktion mit dem Namen der Variable ausführen 24 Result := ShellEx(0, 'open', @filename[1], nil, nil, SW_SHOW); 25 end; 26 Freelibrary(libhandle); //geladene Library freigeben 27 end; 28 29 //Aufruf zB: 30 procedure TForm1.btnShellExecuteClick(Sender: TObject); 31 begin 32 _Shellexecute('notepad.exe'); 33 end; 34

No comments avaiable

Add a comment

Name *  

Email (won't be displayed) *    

Website  

Comment *  

Sicherheitscode Security Code *    

RSS