c#中使用ShellExecute

API手册:http://www.office-cn.net/t/api/api_content.htm

WinApi 中 ShellExecute 的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。函数如下:

若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。

API

 /// <summary>
 /// ShellExecute
 /// </summary>
 /// <param name="hwnd">指定父窗口句柄:ntPtr.Zero</param>
 /// <param name="lpszOp">指定要进行的操作:Open</param>
 /// <param name="lpszFile">指定要打开的文件名|路径</param>
 /// <param name="lpszParams">指定命令行参数: 0 | ""</param>
 /// <param name="lpszDir">用于指定默认目录:0 | ""</param>
 /// <param name="FsShowCmd">显示模式: 0:隐藏 1~11</param>
 /// <returns></returns>
 [DllImport("shell32.dll")]
 private static extern int ShellExecute(IntPtr hwnd, StringBuilder lpszOp, StringBuilder lpszFile, StringBuilder lpszParams, StringBuilder lpszDir, int FsShowCmd);

函数使用

 /// <summary>
 /// 打开程序/文件夹
 /// </summary>
 /// <param name="path">路径</param>
 /// <param name="FsShow">显示模式 默认1</param>
 public static void OpenFile(string path, int FsShow = 1)
 {
     ShellExecute(IntPtr.Zero, new StringBuilder("Open"), new StringBuilder(@path), new StringBuilder(""), new StringBuilder(""), FsShow);
 }
posted @ 2019-05-22 11:25  少年。  阅读(317)  评论(0编辑  收藏  举报