Rubrik: Windows/System | 22.03.05 |
GetModuleFileName-Funktion Diese Funktion ermittelt den Pfad einer geladenen Anwendung, DLL, OCX oder anderen startbaren Datei anhand eines Instanz- oder Modulhandles. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 13.254 |
Deklaration:
Declare Function GetModuleFileName Lib "kernel32" _ Alias "GetModuleFileNameA" ( _ ByVal hModule As Long, _ ByVal lpFileName As String, _ ByVal nSize As Long) As Long
Beschreibung:
Diese Funktion ermittelt den Pfad einer geladenen Anwendung, DLL, OCX oder anderen startbaren Datei anhandeines Instanz- oder Modulhandles.
Parameter:
hModule | Erwartet das Instanz- oder Modulhandle der geladenen Datei. |
lpFileName | Erwartet einen String-Puffer, der mit genügend Leerzeichen vorinitialisiert ist, um den Dateipfad zu erhalten. |
nSize | Erwartet die Größe des Puffers in Bytes. |
Rückgabewert:
Ist die Funktion erfolgreich, so wird die Anzahl der in den Puffer kopierten Zeichen zurückgegeben, andernfalls derWert "0". Für erweiterte Fehlerinformationen können Sie die GetLastError-Funktion aufrufen.
Beispiel:
Private Declare Function GetModuleFileName Lib "kernel32" _ Alias "GetModuleFileNameA" ( _ ByVal hModule As Long, _ ByVal lpFileName As String, _ ByVal nSize As Long) As Long Private Declare Function PostMessage Lib "user32" _ Alias "PostMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long ' eine der Standard Fensternachrichten Private Const WM_CLOSE = &H10 ' Fenster schließen
' Anwendungspfad ermitteln Private Sub Form_Load() Dim Retval As Long, ExePath As String * 128 ' Exepfad ermitteln und ausgeben Retval = GetModuleFileName(hInst, ExePath, Len(ExePath)) MsgBox Left$(ExePath, Retval), , "Anwendungspfad" ' Programm beenden Call PostMessage(Me.hwnd, WM_CLOSE, 0&, ByVal 0&) End Sub