查看“属性”

发表于:2007-06-21来源:作者:点击数: 标签:
查看“属性” Win95中增加了一个全新的概念——“属性”,每个对象都拥有自己的“属性”,在“属性”窗口里 是关于对象的详细描述, 并且不同的对象“属性”窗口的说明是不同的。我们可以用ShellExecuteEX函 数直接调用“属性”标准窗口。下述程序功能相当于

   
  查看“属性”
    Win95中增加了一个全新的概念——“属性”,每个对象都拥有自己的“属性”,在“属性”窗口里
是关于对象的详细描述, 并且不同的对象“属性”窗口的说明是不同的。我们可以用ShellExecuteEX函

数直接调用“属性”标准窗口。下述程序功能相当于当鼠标右键单击根目录下的“autoexec.bat”并选
择“属性”时,则弹出标准的“属性”窗口。
窗体加入如下代码:
Private Sub FORM_Click()
  Dim r As Long
  Dim FileName As String
  FileName = "c:autoexec.bat"
  r = ShowProperties(FileName, Me.hwnd)
  If r <= 32 Then MsgBox "Error"
  End Sub
加入代码如下的模块:
Option Explicit
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
Public Function ShowProperties(FileName As String, OwnerhWnd As Long) 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)
    ShowProperties = SEI.hInstApp  
End Function

原文转自:http://www.ltesting.net