Rubrik: Dateisystem · Dateien allgemein | VB-Versionen: VB4, VB5, VB6 | 16.01.02 |
Datei-Eigenschaften Dialog anzeigen Dieses Beispiel ziegt, wie sich der Windows Datei-Eigenschaften Dialog aufrufen lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 24.627 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Jeder kennt ihn - den "Datei-Eigenschaften"-Dialog von Windows. Aktiviert wird der Dialog über das Kontextmenü einer Datei im Windows Explorer. Der Dialog zeigt die wichtigsten Eigenschaften einer Datei an, wie Erstellungsdatum, Dateiattribute, Version einer Datei u.a.
Mit der Windows API Funktion ShellExecuteEx können Sie den Datei-Eigenschaften Dialog auch aus Ihrerm VB-Programm heraus starten und anzeigen.
' zunächst die benötigten API-Deklarationen Private Declare Function ShellExecuteEx Lib "shell32.dll" ( _ LPSHELLEXECUTEINFO As SHELLEXECUTEINFO) As Long Private 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 Private Const SEE_MASK_FLAG_NO_UI = &H400 Private Const SEE_MASK_INVOKEIDLIST = &HC Private Const SEE_MASK_NOCLOSEPROCESS = &H40
' Datei-Eigenschaften Dialog anzeigen Public Sub ShowFileInfoDlg(ByVal hWnd As Long, _ ByVal sFilename As String) Dim FILEINFO As SHELLEXECUTEINFO With FILEINFO .cbSize = Len(FILEINFO) .fMask = SEE_MASK_FLAG_NO_UI Or _ SEE_MASK_INVOKEIDLIST Or _ SEE_MASK_NOCLOSEPROCESS .hWnd = hWnd .lpVerb = "properties" .lpFile = sFileName End With Call ShellExecuteEx(FILEINFO) End Sub
Beispiel
Nehmen Sie ein Formular und plazieren darauf ein File-, ein Dir-, und ein Drive-Steuerelement. Fügen Sie nachfolgenden Code in den Codeteil der Form ein:
Private Sub Dir1_Change() ' Verzeichnis-Wechsel File1.Path = Dir1.Path File1.Refresh End Sub
Private Sub Drive1_Change() ' Laufwerk-Wechsel On Error Resume Next Dim sOldDrive As String sOldDrive = Left$(Dir1.Path, 2) ' Laufwerk bereit? Dir1.Path = Left$(Drive1.Drive, 2) If Err <> 0 Then ' Fehler! Drive1.Drive = sOldDrive Else Dir1.Refresh End If End Sub
Private Sub File1_DblClick() ' Doppelklick - Datei-Eigenschaften anzeigen Dim sFilename As String With File1 If .ListIndex > -1 Then If Right(.Path, 1) = "\" Then sFilename = .Path & .List(.ListIndex) Else sFilename = .Path & "\" & .List(.ListIndex) End If ShowFileInfoDlg Me.hWnd, sFilename End If End With End Sub
Starten Sie das Beispiel und doppelklicken Sie auf einen Eintrag im File-Steuerelement, um den dazugehörigen "Datei-Eigenschaften" Dialog zu aktivieren.