Du bist hier: Snippet-Verzeichnis » Delphi (11)
Sprache:

Eine Funktion aus einer DLL nutzen

Sprache: Deutsch
Programmiersprache: Delphi
Veröffentlicht von: pumi
Letzte Änderung: 16.05.2006
Aufrufe: 1299


Beschreibung

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

Noch kein Kommentar vorhanden

Dieses Snippet kommentieren

Name *  

E-Mail (wird nicht angezeigt) *    

Website  

Kommentar *  

Sicherheitscode Sicherheitscode *    

RSS