● ファイルのプロパティダイアログを表示する ●

あまり使用する機会はないね。

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 Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (exShellExecute As SHELLEXECUTEINFO) As Long

Private Const SEE_MASK_INVOKEIDLIST = &HC
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
Private Const SEE_MASK_FLAG_NO_UI = &H400

'---------------------------------------------------------------------------
' 関数名 : ShowFilePropDlg
' 機能 : ファイルのプロパティダイアログを表示する
' 引数 : (in) hWnd … フォームのウインドウハンドル
'        (in)FileName … ファイルのフルパス
' 返り値 : なし
'---------------------------------------------------------------------------
Public Sub ShowFilePropDlg(ByVal hWnd As Long, ByVal FileName As String)

    Dim udtShellExecute As SHELLEXECUTEINFO
    Dim ret As Long

    With udtShellExecute
        .cbSize = LenB(udtShellExecute)
        .fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
        .hWnd = hWnd
        .lpVerb = "PROPERTIES"
        .lpFile = FileName
    End With

      ret = ShellExecuteEX(udtShellExecute)

End Sub

戻る