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

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

编程学习2007-06-0939720
'
' 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://www.apull.net/html/20070609250.html

分享给朋友:

相关文章

VB.NET关于加密算法

VB.NET关于加密算法

加密将防止数据被查看或修改,并在原本不安全的信道上提供安全的通信信道,它达到以下目的:  保密性:防止用户的标识或数据被读取。  数据完整性:防止数据被更改。  身份验证:确保数据发自特定的一方。  基本概念  1、散列(HASH)函数  散列(HASH)函数H也称哈希函数或杂凑函数等,是典型的多到一的函数,其输入为一可变长x(可以足够的长),输出一固定长的串h(一般为128位、160位,比输入的串短),该串h被称为输入x的Hash值(或称消息摘要Message  ...

ASP.NET AJAX下alert弹出对话框

ASP.NET AJAX下alert弹出对话框

ASP.NET AJAX下alert弹出对话框定义:protected void ajaxMessage(Control control, string message) { ajaxMessage(control, message, "click"); } protected void ajaxMessage(Control control, string message, string key) { ScriptManager...

Win7 64位系统下IIS无法使用ODBC驱动 解决办法

Win7 64位系统下IIS无法使用ODBC驱动 解决办法

Win7 64位系统控制面板里的数据源里没有Microsoft OLE DB Provider for Jet和Microsoft Access Driver (*.mdb),在IIS里使用Access等ODBC数据库的网页无法正常显示。解决办法:打开Internet 信息服务(IIS)管理器,进入应用程序池,在应用程序上点右键选择高级设置,将启用32位应用程序后面的值改成True,确定后重启下应用程序。如下图:Win7下32位的ODBC数据源:找到c:\windows\sy...

ASP.NET Session的七点认识

ASP.NET Session的七点认识

  ASP.NET  Session的使用当中我们会遇到很多的问题,那么这里我们来谈下经常出现的一些常用ASP.NET Session的理解:ASP.NET  Session的七点认识之一  对于值类型的变量,Session中保存的是值类型的拷贝Session["__test0"] =1; int i = (int)Session["__test0"]+1; int j = (int)Session["__test0"];  结果i=2,j=1AS...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。