Zeigt das Standard Windows Eigenschaftenfenster mit Informationen zum Ordner oder Datei.
[StructLayout(LayoutKind.Sequential)]
public struct SHELLEXECUTEINFO
{
public int cbSize;
public uint fMask;
public IntPtr hwnd;
public String lpVerb;
public String lpFile;
public String lpParameters;
public String lpDirectory;
public int nShow;
public int hInstApp;
public int lpIDList;
public String lpClass;
public int hkeyClass;
public uint dwHotKey;
public int hIcon;
public int hProcess;
}
....
private const int SW_SHOW = 5;
private const uint SEE_MASK_INVOKEIDLIST = 12;
[DllImport("shell32.dll")]
static extern bool ShellExecuteEx(ref SHELLEXECUTEINFO lpExecInfo);
public static void ShowProperties(string path)
{
FileInfo fi = new FileInfo(path);
SHELLEXECUTEINFO info = new SHELLEXECUTEINFO();
info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info);
info.lpVerb = "properties";
info.lpFile = fi.Name;
info.lpDirectory = fi.DirectoryName;
info.nShow = SW_SHOW;
info.fMask = SEE_MASK_INVOKEIDLIST;
ShellExecuteEx(ref info);
}
// Beispielaufruf:
// die Eingenschaften des Verzeichnisses "c:\temp" anzeigen
ShowProperties(@"c:\temp");
// die Eingenschaften der Datei "c:\temp\test.bmp" anzeigen
ShowProperties(@"c:\temp\test.bmp");
Kommentare zum Snippet