Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Windows.Forms
' make sure that using System.Diagnostics; is included
Imports System.Diagnostics
' make sure that using System.Security.Principal; is included
Imports System.Security.Principal
' make sure that using System.Runtime.InteropServices; is included
Imports System.Runtime.InteropServices
' make sure that using System.IO; is included
Imports System.IO
Public Class Form1
Inherits Form
<DllImport("shell32.dll", CharSet:=CharSet.Auto)>
Private Shared Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean
End Function
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)>
Public Structure SHELLEXECUTEINFO
Public cbSize As Integer
Public fMask As UInteger
Public hwnd As IntPtr
<MarshalAs(UnmanagedType.LPTStr)>
Public lpVerb As String
<MarshalAs(UnmanagedType.LPTStr)>
Public lpFile As String
<MarshalAs(UnmanagedType.LPTStr)>
Public lpParameters As String
<MarshalAs(UnmanagedType.LPTStr)>
Public lpDirectory As String
Public nShow As Integer
Public hInstApp As IntPtr
Public lpIDList As IntPtr
<MarshalAs(UnmanagedType.LPTStr)>
Public lpClass As String
Public hkeyClass As IntPtr
Public dwHotKey As UInteger
Public hIcon As IntPtr
Public hProcess As IntPtr
End Structure
Private Const SW_SHOW As Integer = 5
Private Const SEE_MASK_INVOKEIDLIST As UInteger = 12
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Public Shared Function ShowFileProperties(Filename As String) As Boolean
Dim info As New SHELLEXECUTEINFO()
info.cbSize = Marshal.SizeOf(info)
info.lpVerb = "properties"
info.lpFile = Filename
info.nShow = SW_SHOW
info.fMask = SEE_MASK_INVOKEIDLIST
Return ShellExecuteEx(info)
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
ShowFileProperties(Path.GetFullPath(OpenFileDialog1.FileName))
End If
End Sub
End Class
No comments:
Post a Comment