Tipp 3.5 - Eigenschaftsdialog
Wie kann ich den Eigenschaftsdialog einer Datei / eines Ordners aufrufen?
Mit dieser Funktion können Sie den Eigenschaftsdialog einer Datei / eines Ordners aufrufen. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.
Verwendete Win32-Api-Aufrufe und Typen: GetDesktopWindow, ShellExecuteEx - SHELLEXECUTEINFO
Beispiel:
Option Explicit Public Type SHELLEXECUTEINFO cbSize As Long fMask As Long hwnd As Long lpVerb As String lpFile As String lpParameters As String lpDirectory As String nShow As Long hInstApp As Long lpIDList As Long lpClass As String hkeyClass As Long dwHotKey As Long hIcon As Long hProcess As Long End Type Public Declare Function GetDesktopWindow _ Lib "user32" () As Long Public Declare Function ShellExecuteEx _ Lib "shell32.dll" _ (ShellExExInfo As SHELLEXECUTEINFO) As Long Public Function PropertyDialog(sPath As String) As Long '// ----------------------------------------------------- '// Methode: | Ruft den Eigenschaftsdialog einer Datei '// | oder eines Ordners auf '// ----------------------------------------------------- '// Parameter: | sPath = gütliger Datei- oder Ordnerpfad '// ----------------------------------------------------- '// Rückgabe: | Long-Wert der API-Funktionsrückgabe '// ----------------------------------------------------- '// Autor: | Stefan Kulpa '// | EDV Innovation & Consulting - Dormagen '// ----------------------------------------------------- Const SEE_MASK_INVOKEIDLIST As Long = &HC Const SEE_MASK_NOCLOSEPROCESS As Long = &H40 Const SEE_MASK_FLAG_NO_UI As Long = &H400 Dim uShExInf As SHELLEXECUTEINFO With uShExInf .cbSize = Len(uShExInf) .fMask = SEE_MASK_NOCLOSEPROCESS Or _ SEE_MASK_INVOKEIDLIST Or _ SEE_MASK_FLAG_NO_UI .hwnd = GetDesktopWindow() .lpVerb = "properties" .lpFile = sPath .lpParameters = vbNullChar .lpDirectory = vbNullChar .nShow = 0 .hInstApp = 0 .lpIDList = 0 End With PropertyDialog = ShellExecuteEx(uShExInf) End Function