\'#VBIDEUtils#***********************************************
\' * Programmer Name : Waty Thierry
\' * Web Site : www.geocities.com/ResearchTriangle/6311/
\' * E-Mail : waty.thierry@usa.net
\' * Date : 28/06/99
\' * Time : 13:16
\' ********************************************************
\' * Comments : 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.
\' **************************************************
Option Explicit
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_INVOKEIDLIST = &HC
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
Private Const SEE_MASK_FLAG_NO_UI = &H400
Private Declare Function ShellExecuteEX Lib \"shell32.dll\" Alias \"ShellExecuteEx\" (SEI As SHELLEXECUTEINFO) As Long
Public Function ShowProps(FileName As String, OwnerhWnd As Long) As Boolean
\'USAGE:
\'To show the properties dialog box of \"c:\\autoexec.bat\", use the following code:
\'Call ShowProps(\"c:\\autoexec.bat\", Me.hwnd)
\'Function will return false if
\'property windows can\'t be shown for
\'any reason (e.g., invalid file or Ownerhwnd)
On Error Resume Next
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)
ShowProps = r
End Function