2018-5-28-WPF-Process.Start-出现-Win32Exception-异常
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
WPF Process.Start 出现 Win32Exception 异常
|
lindexi
|
2018-05-28 10:21:51 +0800
|
2018-05-22 14:25:12 +0800
|
WPF
|
我在使用 WPF 其他其他软件的时候,发现出现Win32Exception异常。
如果使用下面的代码启动另一个软件,那么在启动的软件路径不存在时,就会出现异常System.ComponentModel.Win32Exception,没有其他信息
var st = new ProcessStartInfo(ProcessName,
"-p " + Port); if (NeedHidden)
{
st.CreateNoWindow = true;
st.WindowStyle = ProcessWindowStyle.Hidden;
} var remoteGuardian = Process.Start(st); //监控远程应用
上面的代码的 NeedHidden 表示是否需要隐藏窗口,如果设置为 false ,启动控制台会出现黑窗。代码 ProcessName 就是其他的软件的路径。
如果这时 File.Exists(ProcessName) 为 false ,那么 Process.Start 就出现System.ComponentModel.Win32Exception异常,而且这个异常没有其他的信息
所以建议在调用 Process.Start 之前判断路径是否存在
if (!File.Exists(ProcessName))
{
throw new ArgumentException("启动软件路径不存在" + ProcessName);
}
为什么会出现找不到路径?我使用的是WPF 封装 dotnet remoting 调用其他进程里面需要引用一个库用来做远程的软件,因为我使用一个库 A 引用了远程的软件,使用程序B引用了A,因为没有直接引用远程软件,所以就没有在输入路径找到这个文件,所以出现异常。
其他可能出现异常的是:
- 启动的程序弹出 UAC 被用户取消
更多关于 remoting 的博客
感谢
walterlv 告诉我另一个出现异常的情况
Miss_Bread 提供的图片
2018-5-28-WPF-Process.Start-出现-Win32Exception-异常的更多相关文章
- Insider Dev Tour(2018.06.28)
时间:2018.06.28地点:北京金茂万丽酒店
- WPF捕获未处理的异常
WPF程序中,对于异常的捕获一般使用try/catch块.就像程序中的bug一样,很难保证程序中所有的异常都能够通过try/catch捕获.如果异常没有被捕获,轻则影响用户体验,严重时会导致数据丢失 ...
- 2018/1/28 每日一学 单源最短路的SPFA算法以及其他三大最短路算法比较总结
刚刚AC的pj普及组第四题就是一种单源最短路. 我们知道当一个图存在负权边时像Dijkstra等算法便无法实现: 而Bellman-Ford算法的复杂度又过高O(V*E),SPFA算法便派上用场了. ...
- Burn Down Chart(2018.5.28~2018.6.3)
任务安排 (2018.6.2 更新——前端总进度) (2018.6.3 更新——后端燃尽图) 娄雨禛[前端部分] 曾子轩[后端部分+燃尽图] 前端 齐天扬+刘鼎乾:设计两组页面,只要求框架和简单的 c ...
- 2018/1/28 RocketMq学习笔记
RocketMq是支持Topic模式的MQ中间件,它的传输格式为topic(主题,一个product对应一个主题,),Tag(标签,其实就是副标题,是为了更好的支持集群模式而出现的,这样客户端可以指定 ...
- 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) - 4.28
赛后补了几道 赛中我就写了两个... A - Altruistic AmphibiansGym - 101933A 看了眼榜没几个人做.就没看. 最后发现就是一个DP(但是我觉得复杂度有点迷) 题意: ...
- 2018.4.28 kvm虚拟机管理
创建虚拟机: virt-install --name wj-v1.4.1.0411 --vcpus=2 --memory=2048 --disk path=/home/wj/os/osgwV1.4.1 ...
- Python练习-迭代-2018.11.28
#遍历list L=['a','b','c','d'] l=[] a=0 for n in L: l.insert(a,n) a=a+1 print(l) #遍历dict里的key,导出为list L ...
- 2018.11.28 poj3294 Life Forms(后缀数组+双指针)
传送门 后缀数组经典题目. 我们先把所有的字符串都接在一起. 然后求出hththt数组和sasasa数组. 然后对于sasasa数组跑双指针统计答案. 如果双指针包括进去的属于不同字符串的数量达到了题 ...
- EZ 2018 02 28 NOIP2018 模拟赛(二)
我TM的终于改完了(其实都是SB题) 题目链接:http://211.140.156.254:2333/contest/53 T1送分,T2前40%送分,还有骗分机制在里面,T3暴力50 所以200应 ...
随机推荐
- 分析性能差的sql
--EXECUTIONS 所有子游标的执行这条语句次数 --DISK_READS 所有子游标运行这条语句导致的读磁盘次数 --BUFFER_GETS 所有子游标运行这条语句导致的读内存次数 --Hit ...
- Spring Cloud服务之Nacos作为注册中心与配置中心
1.创建maven父工程管理jar包版本 创建maven骨架,删除多余部分文件.只留pom文件,添加依赖 <packaging>pom</packaging> <pare ...
- KingbaseES数据库配置Hikari数据源
Hikari是一个高性能的数据库连接池,它是Spring Boot 2.x中的默认数据源. 一.下载驱动 打开下面网址:选择对应平台的jdbc驱动程序. 人大金仓-成为世界卓越的数据库产品与服务提供商 ...
- 【Java】快速排序
代码: 1 public static void quickSort(int[] arr) { 2 if (arr == null || arr.length < 2) { 3 return; ...
- 《写给程序员的Python教程》阅读随笔---python禅学(Zen_of_python)
Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Comp ...
- #线段树#洛谷 4588 [TJOI2018]数学计算
题目传送门 分析 由于曾经做过原题 所以就直接说了,因为每个数最多被除掉一次 所以可以用线段树维护区间乘,也就很简单了,删除就单点修改就行了 代码 #include <cstdio> #i ...
- OpenHarmony加速行业应用落地,多款软件发行版正通过兼容性测评
4 月 25 日,OpenAtom OpenHarmony(以下简称"OpenHarmony")技术日在深圳举办,大会聚焦 OpenHarmony 3.1 Release 版本核心 ...
- 深入理解 C# 编程:枚举、文件处理、异常处理和数字相加
C# 枚举 枚举是一个特殊的"类",表示一组常量(不可更改/只读变量). 要创建枚举,请使用 enum 关键字(而不是 class 或 interface),并用逗号分隔枚举项: ...
- C# 循环与条件语句详解
C# Switch 语句 使用 switch 语句选择要执行的多个代码块中的一个. 示例: switch(expression) { case x: // 代码块 break; case y: // ...
- C 语言:类型转换与常量的细致理解
C 语言中的类型转换 有时,您必须将一种数据类型的值转换为另一种类型.这称为类型转换 隐式转换 当您将一种类型的值分配给另一种类型的变量时,编译器会自动进行隐式转换. 例如,如果您将一个 int 值分 ...