Esempio n. 1
0
		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));
		}
Esempio n. 2
0
        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));
        }