古詩詞大全網 - 成語查詢 - c# 如何調用window下面的查看文件屬性的那個對話框

c# 如何調用window下面的查看文件屬性的那個對話框

需要用到Interop

1、引用命名空間

using System.Runtime.InteropServices;

2、定義壹個Struct,用於傳遞參數

[StructLayout(LayoutKind.Sequential)]

public struct SHELLEXECUTEINFO

{

public int cbSize;

public uint fMask;

public IntPtr hwnd;

[MarshalAs(UnmanagedType.LPStr)]

public string lpVerb;

[MarshalAs(UnmanagedType.LPStr)]

public string lpFile;

[MarshalAs(UnmanagedType.LPStr)]

public string lpParameters;

[MarshalAs(UnmanagedType.LPStr)]

public string lpDirectory;

public int nShow;

public IntPtr hInstApp;

public IntPtr lpIDList;

[MarshalAs(UnmanagedType.LPStr)]

public string lpClass;

public IntPtr hkeyClass;

public uint dwHotKey;

public IntPtr hIcon;

public IntPtr hProcess;

}

3、導入Windows API函數和壹些常量

private const int SW_SHOW = 5;

private const uint SEE_MASK_INVOKEIDLIST = 12;

[DllImport("shell32.dll")]

static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo);

4、寫調用查看文件屬性的對話框

public static void ShowFileProperties(string Filename)

{

SHELLEXECUTEINFO info = new SHELLEXECUTEINFO();

info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info);

info.lpVerb = "properties";

info.lpFile = Filename;

info.nShow = SW_SHOW;

info.fMask = SEE_MASK_INVOKEIDLIST;

ShellExecuteEx(ref info);

}

這樣就能通過ShowFileProperties("xxxx")來調用查看文件對話框了。

關於Process的那個,不是有個Exit事件麽