public static int ViewFileProperties(string path) { if(!File.Exists(path)) return(-1); APIsStructs.SHELLEXECUTEINFO info = new APIsStructs.SHELLEXECUTEINFO(); info.cbSize = Marshal.SizeOf(typeof(APIsStructs.SHELLEXECUTEINFO)); info.fMask = APIsEnums.ShellExecuteFlags.INVOKEIDLIST; info.hWnd = IntPtr.Zero; info.lpVerb = "properties"; info.lpFile = Path.GetFileName(path); info.lpParameters = ""; info.lpDirectory = Path.GetDirectoryName(path); info.nShow = APIsEnums.ShowWindowStyles.SHOW; info.hInstApp = IntPtr.Zero; IntPtr ptr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(APIsStructs.SHELLEXECUTEINFO))); Marshal.StructureToPtr(info, ptr, false); return(ShellExecuteEx(ptr)); }
public static int ViewFileProperties(string path) { if (!File.Exists(path)) { return(-1); } APIsStructs.SHELLEXECUTEINFO info = new APIsStructs.SHELLEXECUTEINFO(); info.cbSize = Marshal.SizeOf(typeof(APIsStructs.SHELLEXECUTEINFO)); info.fMask = APIsEnums.ShellExecuteFlags.INVOKEIDLIST; info.hWnd = IntPtr.Zero; info.lpVerb = "properties"; info.lpFile = Path.GetFileName(path); info.lpParameters = ""; info.lpDirectory = Path.GetDirectoryName(path); info.nShow = APIsEnums.ShowWindowStyles.SHOW; info.hInstApp = IntPtr.Zero; IntPtr ptr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(APIsStructs.SHELLEXECUTEINFO))); Marshal.StructureToPtr(info, ptr, false); return(ShellExecuteEx(ptr)); }