在 Windows 中使用 C# 启动其他程序

本文介绍了一种解决Winform程序自动启动时遇到的问题的方法,当使用System.Diagnostics.Process启动失败时,可以采用Shell32.dll的ShellExecute方法来实现。通过提供具体的代码示例,展示了如何正确地调用该方法,确保Winform程序能够正常启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为某些原因需要自动启动一个 Winform 程序,可能是因为第三方资源的原因,使用 System.Diagnostics.Process 无法成功启动 (可以看到界面,但是会报 Unhandled Exception)

解决方案 (使用 Shell32)

导入方法

[DllImport("shell32.dll")]
public static extern int ShellExecute(IntPtr hwnd, StringBuilder lpszOp, StringBuilder lpszFile, StringBuilder lpszParams, StringBuilder lpszDir, int FsShowCmd);

调用

ShellExecute(IntPtr.Zero, new StringBuilder("Open"), new StringBuilder("可执行文件名"), new StringBuilder(""), new StringBuilder("文件所在目录"), 1);

参考

C# winform 启动外部程序

转载于:https://www.cnblogs.com/victorbu/p/10859640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值