当前位置:首页 > 编程学习 > VB.NET 用ShellExecuteEx 打开系统文件属性对话框 模块

VB.NET 用ShellExecuteEx 打开系统文件属性对话框 模块

编程学习2007-06-0953690
'
' VB.NET 调用系统文件属性对话框模块
'
' by: Apull
' QQ:374237545
' http://www.apull.net
' 2007-6-9
'
'
Imports System.Runtime.InteropServices
   
Module SHFileCtrl
   
#Region "API's"
   
'------------------------------
'查看文件属性API
Public Structure SHELLEXECUTEINFO
Dim cbSize As Integer
Dim fMask As Integer
Dim hwnd As IntPtr
Dim lpVerb As String
Dim lpFile As String
Dim lpParameters As String
Dim lpDirectory As String
Dim nShow As Integer
Dim hInstApp As IntPtr
Dim lpIDList As IntPtr
Dim lpClass As String
Dim hkeyClass As IntPtr
Dim dwHotKey As Integer
Dim hIcon As IntPtr
Dim hProcess As IntPtr
End Structure
    
' 显示方式
'Private Const SW_HIDE = 0
'Private Const SW_SHOWNORMAL = 1
'Private Const SW_SHOWMINIMIZED = 2
'Private Const SW_SHOWMAXIMIZED = 3
'Private Const SW_MAXIMIZE = 3
'Private Const SW_SHOWNOACTIVATE = 4
'Private Const SW_SHOW = 5
'Private Const SW_MINIMIZE = 6
Private Const SW_SHOWMINNOACTIVE = 7
'Private Const SW_SHOWNA = 8
'Private Const SW_RESTORE = 9
   
'
'Private Const SEE_MASK_CLASSKEY = &H3
'Private Const SEE_MASK_CLASSNAME = &H1
'Private Const SEE_MASK_CONNECTNETDRV = &H80
'Private Const SEE_MASK_DOENVSUBST = &H200
'Private Const SEE_MASK_FLAG_DDEWAIT = &H100
Private Const SEE_MASK_FLAG_NO_UI = &H400
'Private Const SEE_MASK_HOTKEY = &H20
'Private Const SEE_MASK_ICON = &H10
'Private Const SEE_MASK_IDLIST = &H4
Private Const SEE_MASK_INVOKEIDLIST = &HC
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
   
Private Declare Function ShellExecuteEx Lib "shell32.dll" (ByRef lpShellInfo As SHELLEXECUTEINFO As Integer
   
#End Region
   
'显示属性对话框
'参数
'hWnd IntPtr 父窗体句柄
'sFile String 要查看属性的文件
'调用:ShowPropertie(Me.Handle, sFile)
Public Sub ShowPropertie(ByVal hWnd As IntPtr, ByVal sFile As String)
   
    Dim sInfo As New SHELLEXECUTEINFO
    Dim iRet As Integer
   
    Try
        With sInfo
            .cbSize = Marshal.SizeOf(sInfo)
            .fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
            .hwnd = hWnd
            .lpVerb = "properties"
            .lpFile = sFile
            .lpParameters = ""
            .lpDirectory = vbNullString
            .nShow = SW_SHOWMINNOACTIVE
            .hInstApp = New IntPtr(0)
            .lpIDList = New IntPtr(0)
            .lpClass = vbNullString
            .hkeyClass = New IntPtr(0)
            .dwHotKey = 0
            .hIcon = New IntPtr(0)
            .hProcess = New IntPtr(0)
        End With
   
        iRet = ShellExecuteEx(sInfo)
   
    Catch ex As Exception
        MsgBox(iRet & vbCrLf & Err.ToString)
    End Try
End Sub
   
End Module


扫描二维码推送至手机访问。

版权声明:本文由海阔天空发布,如需转载请注明出处。

本文链接:https://apull.net/html/20070609250.html

分享给朋友:

相关文章

关于学习编程和C语言

关于学习编程和C语言

关于学习编程和C语言  转自 开复网 Q:该怎么学习编程?  A:首先问你一个问题:你们在学校都学些什么课程? 问这个问题的原因是,我认为学校的计算机科学基础课很重要。如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。用处大得很哪。比如,操作系统课里讲到的多线程的东西在系统编程里很有用。又比如,尽管你将来不会去涉及电脑的...

为什么每个程序员都应该学习C语言

为什么每个程序员都应该学习C语言

为什么每个程序员都应该学习C语言 每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了。除了它会给你提供更多的工作机会之外,C语言还会教给你更多的关于计算机的知识。它能给我们提供的裨益,简单列举如下:   1)相比较其他的编程语言(像C++,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。   2)设备驱动程序和操作系统只能用C语言来编写。现在,你...

VBScript 错误信息

VBScript 错误信息

错误代码 信息5 无效的过程调用或参数6 溢出7 内存不够9 下标越界10 数组长度固定或临时锁定11 被零除13 类型不匹配14 字符串空间溢出28 堆栈空间溢出35 Sub或Function未定义48 加载D...

常用asp函数

常用asp函数

<% '------------------------------------- '所有功能函数名如下: ' StrLength(str) 取得字符串长度 ' CutStr(str,strlen) 字符串长度切割 ' CheckIsEmpty(tstr) 检测是否为空 ' isInteger(para) 整数检验 ' CheckName(str) 名字字符校验 ' CheckPassword(str) 密码检验 ' CheckEmail(emai...