cShowFilePropertyWindow.cls
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:3k
源码类别:

浏览器

开发平台:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "cShowFilePropertyWindow"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. Private Type SHELLEXECUTEINFO
  16.     cbSize As Long
  17.     fMask As Long
  18.     hwnd As Long
  19.     lpVerb As String
  20.     lpFile As String
  21.     lpParameters As String
  22.     lpDirectory As String
  23.     nShow As Long
  24.     hInstApp As Long
  25.     lpIDList As Long
  26.     lpClass As String
  27.     hkeyClass As Long
  28.     dwHotKey As Long
  29.     hIcon As Long
  30.     hProcess As Long
  31. End Type
  32. Private Const SEE_MASK_INVOKEIDLIST = &HC
  33. Private Const SEE_MASK_NOCLOSEPROCESS = &H40
  34. Private Const SEE_MASK_FLAG_NO_UI = &H400
  35. Private Const SW_SHOW As Long = 5
  36. Private Const SW_SHOWNORMAL As Long = 1
  37. Public Enum enumVerbType
  38.     verbShowProperties = 0
  39.     verbShowExplorer = 1
  40. End Enum
  41. Private Declare Function ShellExecuteEX Lib "shell32.dll" Alias _
  42. "ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long
  43. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  44. 'Public Sub ShowShell(FileName As String, nVerb As enumVerbType, Optional OwnerhWnd As Long = 0)
  45. 'Dim tVerb As String
  46. 'Select Case nVerb
  47. '    Case verbShowExplorer
  48. '        tVerb = "explore"
  49. '    Case verbShowProperties
  50. '        tVerb = "properties"
  51. 'End Select
  52. '
  53. 'ShellExecute OwnerhWnd, tVerb, FileName, vbNullString, vbNullString, SW_NORMAL
  54. '
  55. 'End Sub
  56. ' 使用: ShowProps("c:command.com",Me.hWnd)
  57. Public Sub ShowProps(FileName As String, nVerb As enumVerbType, Optional OwnerhWnd As Long = 0)
  58.     Dim SEI As SHELLEXECUTEINFO
  59.     Dim r As Long
  60.     Dim tVerb As String
  61.     Select Case nVerb
  62.         Case verbShowExplorer
  63.             tVerb = "explore"
  64.         Case verbShowProperties
  65.             tVerb = "properties"
  66.     End Select
  67.     With SEI
  68.     .cbSize = Len(SEI)
  69.     .fMask = SEE_MASK_INVOKEIDLIST Or _
  70.         SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_FLAG_NO_UI
  71.     .hwnd = OwnerhWnd
  72.     .lpVerb = tVerb
  73.     .lpFile = FileName
  74.     .lpParameters = vbNullChar
  75.     .lpDirectory = vbNullChar
  76.     .nShow = SW_SHOWNORMAL
  77.     .hInstApp = 0
  78.     .lpIDList = 0
  79.     End With
  80.     r = ShellExecuteEX(SEI)
  81. End Sub