声明:未经允许不得转载,转载时请标注来源;禁止用作商业及其他衍生目的。
有误请指正,侵权请联系删除。有更好的方法也请联系我
求赞,关注
Add-Type @"
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
public class YZX
{
public struct YZXS
{
[MarshalAs(UnmanagedType.LPWStr)]
public string cszFile;
[MarshalAs(UnmanagedType.LPWStr)]
public string cszClass;
[MarshalAs(UnmanagedType.I4)]
public uint oaifInFlags;
}
[DllImport("shell32.dll", CharSet = CharSet.Unicode)]
public static extern int SHOpenWithDialog(IntPtr hWndParent, ref YZXS oOAI);
}
"@ -Language CSharp
$i = new-object YZX+YZXS
$i.cszFile = "文件路径"
$i.oaifInFlags = 0 、4 #两种类型(展示1;展示2)
[YZX]::SHOpenWithDialog(0, [ref]$i)
展示1:
展示2因窗体事件(离开焦点及关闭),不方便截图,但以后会介绍.net和gdi32.dll两种截图方式。