gpt4 book ai didi

c# - 从进程访问 FileName 仅在 Debug 语句之后有效?

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:01 27 4
gpt4 key购买 nike

我在这里遇到一个有趣的问题,因为只有在访问 FileName 之前没有调试语句时才会出现此错误。

//make a new process
process = new Process();
process.StartInfo.FileName = executable;
process.Start();
Debug.Print((process.MainModule == null).ToString());
Debug.Print(process.MainModule.FileName);
path = process.MainModule.FileName;
process.Kill();

我基本上只是想访问我交给它的可执行文件的文件路径(例如:chrome.exe,所以它找到了路径,我以后可以得到图标等)。但是,如果没有 Debug 语句,代码将无法正常工作,并为

返回 NullReferenceException
path = process.MainModule.FileName

我肯定这不是获取可执行文件路径的最有效方法,如果有人对此有其他方法或知道为什么会发生这种情况,我们将不胜感激。

最佳答案

上面的例子实际上是一种糟糕的处理方式。有些进程不会终止,并且启动进程所需的时间会根据您尝试启动的内容而有很大差异。我建议设置所有已安装程序的列表,然后对其进行排序,这样会更可靠。

这里有一个关于如何处理它的链接(Get installed applications in a system)。

关于c# - 从进程访问 FileName 仅在 Debug 语句之后有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51000559/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com