Showing the Properties dialog box

This tip demonstrates how to use the Win32 API to bring up the explorer properties dialog box for a specified file. This API function has the same effect as right clicking on a file in Windows 95 and selecting properties. The dialog box that is opened is shown below.

Declarations

This following code must be placed in the projects declarations section.

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 Const SEE_MASK_INVOKEIDLIST = &HC
Public Const SEE_MASK_NOCLOSEPROCESS = &H40
Public Const SEE_MASK_FLAG_NO_UI = &H400

Declare Function ShellExecuteEX Lib "shell32.dll" Alias _
"ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long

Code

Public Sub ShowProps(FileName As String, OwnerhWnd As Long)

    Dim SEI As SHELLEXECUTEINFO
    Dim r As Long
     
    With SEI
        .cbSize = Len(SEI)
        .fMask = SEE_MASK_NOCLOSEPROCESS Or _
         SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
        .hwnd = OwnerhWnd
        .lpVerb = "properties"
        .lpFile = FileName
        .lpParameters = vbNullChar
        .lpDirectory = vbNullChar
        .nShow = 0
        .hInstApp = 0
        .lpIDList = 0
    End With
     
    r = ShellExecuteEX(SEI) 
End Sub

Use

To show the properties dialog box of "c:autoexec.bat", use the following code:

Call ShowProps("c:autoexec.bat", Me.hwnd)


BYOD Asterisk | Advantage PBX | Reliance Relocation Review | Shades | Term Life Insurance