c# 通过API启动外部程序

调用Win32 API。
1. using System.Runtime.InteropServices;2.
//
        //#define SW_HIDE             0 //隐藏窗口,活动状态给令一个窗口
        //#define SW_SHOWNORMAL       1 //用原来的大小和位置显示一个窗口,同时令其进入活动状态
        //#define SW_NORMAL           1
        //#define SW_SHOWMINIMIZED    2
        //#define SW_SHOWMAXIMIZED    3
        //#define SW_MAXIMIZE         3
        //#define SW_SHOWNOACTIVATE   4 //用最近的大小和位置显示一个窗口,同时不改变活动窗口
        //#define SW_SHOW             5 //用当前的大小和位置显示一个窗口,同时令其进入活动状态
        //#define SW_MINIMIZE         6 //最小化窗口,活动状态给令一个窗口
        //#define SW_SHOWMINNOACTIVE  7 //最小化一个窗口,同时不改变活动窗口
        //#define SW_SHOWNA           8 //用当前的大小和位置显示一个窗口,不改变活动窗口
        //#define SW_RESTORE          9 //与 SW_SHOWNORMAL  1 相同
        //#define SW_SHOWDEFAULT      10
        //#define SW_FORCEMINIMIZE    11
        //#define SW_MAX              11
        [DllImport("kernel32.dll")]
        public static extern int WinExec(string exeName, int operType);3.
WinExec(@"C:\WINDOWS\system32\cmd.exe",5);

______________________________
调用Win32 API。
1.
using System.Runtime.InteropServices;2.
[DllImport("shell32.dll")]
        public static extern int ShellExecute(IntPtr hwnd,StringBuilder lpszOp,StringBuilder lpszFile,StringBuilder lpszParams,StringBuilder lpszDir,int FsShowCmd);3.调用,打开记事本:
int a = ShellExecute(IntPtr.Zero,new StringBuilder("Open"),new StringBuilder("notepad"),new StringBuilder(""),new StringBuilder(@"C:\"), 1);
            System.Windows.Forms.MessageBox.Show(a.ToString());4.打开一个网页:
ShellExecute(IntPtr.Zero,new StringBuilder("Open"),new StringBuilder("http://yao.cnblogs.com"),new StringBuilder(""),new StringBuilder(""), 1);

posted @   94cool  阅读(550)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
< 2009年12月 >
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9
点击右上角即可分享
微信分享提示