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 Private Declare Function ShellExecuteEx Lib "shell32.dll" _ (sei As SHELLEXECUTEINFO) As Long Public Sub ShowProps(hWnd As Long, FileName As String) Dim sei As SHELLEXECUTEINFO Dim lRes As Long With sei .cbSize = Len(sei) .fMask = SEE_MASK_NOCLOSEPROCESS Or _ SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI .hWnd = hWnd .lpVerb = "properties" .lpFile = FileName .lpParameters = vbNullChar .lpDirectory = vbNullChar .nShow = 0 .hInstApp = 0 .lpIDList = 0 End With lRes = ShellExecuteEx(sei) End Sub ' UTILIZZO Private Sub Command1_Click() Call ShowProps(Me.hWnd, "C:\WinNT\Notepad.exe") End Sub 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 Private Declare Function ShellExecuteEx Lib "shell32.dll" _ (sei As SHELLEXECUTEINFO) As Long Public Sub ShowProps(hWnd As Long, FileName As String) Dim sei As SHELLEXECUTEINFO Dim lRes As Long With sei .cbSize = Len(sei) .fMask = SEE_MASK_NOCLOSEPROCESS Or _ SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI .hWnd = hWnd .lpVerb = "properties" .lpFile = FileName .lpParameters = vbNullChar .lpDirectory = vbNullChar .nShow = 0 .hInstApp = 0 .lpIDList = 0 End With lRes = ShellExecuteEx(sei) End Sub ' UTILIZZO Private Sub Command1_Click() Call ShowProps(Me.hWnd, "C:\WinNT\Notepad.exe") End Sub |