大家好,今天小热关注到一个比较有意思的话题,就是关于ProcessStartInfo的问题,于是小编就整理了3个相关介绍ProcessStartInfo的解答,让我们一起看看吧。
文章目录:
一、C# Winform 如何 打开一个 新 进程
在C# Winform中打开一个新进程,可以通过引用System.Diagnostics命名空间实现。这个命名空间提供了与系统进程、事件日志、性能计数器的交互功能,其中涉及到的两个核心类是System.Diagnostics.Process和System.Diagnostics.ProcessStartInfo。
System.Diagnostics.Process类提供了访问本地和远程进程的能力,并允许启动和停止本地系统进程。使用Start方法启动进程时,可以设置不同的参数,如:
Start(ProcessStartInfo)
Start(string FileName)
Start(string FileName, string Arguments)
此外,System.Diagnostics.Process类还包含了一些属性来获取进程的相关信息,比如:
Id:唯一进程标识号
ProcessName:进程名称
MachineName:进程运行所在的计算机名
StartInfo:进程的StartInfo
StartTime:启动进程的时间
ExitTime:退出进程的时间
HasExited:进程是否已经终止
System.Diagnostics.ProcessStartInfo类则与Process类配合使用,用于设置进程的启动参数。其构造方法有:
ProcessStartInfo()
ProcessStartInfo(string FileName)
ProcessStartInfo(string FileName, string Arguments)
这个类还包含了一系列属性,如:
FileName:应用程序或文件名
Arguments:参数
WorkingDirectory:启动进程的初始目录
CreateNoWindow:是否在新窗口启动进程
WindowStyle:指定打开窗口时的状态(枚举值)
Verb:打开进程时需要使用的谓词;每个文件扩展名都有它自己的一组谓词;可以使用Verbs属性获取这些谓词。例如,“print”谓词将打印使用FileName指定的文档。可使用空字符串("")指定默认谓词。
二、C#WinForm里我想通过快捷方式执行程序要如何实现
在C# WinForm中,如果你想通过快捷方式执行程序,需要调整程序的启动方式。默认情况下,程序会使用shell执行文件,这种方式可能无法正确加载快捷方式中的程序路径。为了解决这个问题,你可以将myProcess.StartInfo.UseShellExecute设置为false。但是,如果你希望程序能够正确识别并执行快捷方式中的程序,你需要将其设置为true。
具体来说,当设置myProcess.StartInfo.UseShellExecute为true时,程序会通过shell执行文件,这种方式可以更好地处理快捷方式中的程序路径。通过这种方式,你可以确保程序能够正确加载并执行快捷方式指向的程序。
下面是一个简单的示例,展示如何通过快捷方式执行程序:
首先,你需要获取快捷方式的路径。这可以通过读取快捷方式文件的路径来实现。下面是一个获取快捷方式路径的示例代码:
string shortcutPath = @"C:\Users\ExampleUser\Desktop\MyApp.lnk";
然后,你需要使用ProcessStartInfo类来设置启动信息。下面是一个设置启动信息的示例代码:
ProcessStartInfo startInfo = new ProcessStartInfo();
接下来,设置startInfo的属性,确保使用shell执行文件。下面是一个设置startInfo属性的示例代码:
startInfo.UseShellExecute = true;
最后,创建一个新的Process对象,并使用startInfo来启动程序。下面是一个启动程序的示例代码:
Process myProcess = new Process();
设置myProcess的StartInfo属性为startInfo,并启动程序。下面是一个设置myProcess的StartInfo属性并启动程序的示例代码:
myProcess.StartInfo = startInfo;
myProcess.Start();
通过这种方式,你可以确保程序能够正确识别并执行快捷方式中的程序。希望这个示例能够帮助你实现通过快捷方式执行程序的需求。
三、C#中的Process怎么启动带参数的url
我现在想在C#中打开特定的文件,并且指定特定的打开方式。
下面是代码
1.
ProcessStartInfo psi = new ProcessStartInfo(@"D:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe");
psi.UseShellExecute = false;
psi.Arguments = @" d:\a a\H3C实验手册.pdf";
Process.Start(psi);
2.
System.Diagnostics.Process.Start(@"D:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe", @" d:\a a\H3C实验手册.pdf");
这两个代码实现的是同一个效果,都是指定D盘 “a a”文件夹(注意a a中间有个空格)下的“H3C实验手册.pdf”文件用Foxit Reader.exe 打开。
但是上面指定文件的路径中有个“空格”,如果没有在别的没有空格的路径下打开文件就可以,若文件路径中有空格的话,就不行了。
自己的分析:上面的程序实际上就是用命令行参数来启动程序,而命令行参数是用空格开区分不同的参数,所以文件路径中有空格后,这个参数是被截断了。
自己想了好久都没有解决方案,忘高手赐教!!
到此,以上就是小编对于ProcessStartInfo的问题就介绍到这了,希望介绍关于ProcessStartInfo的3点解答对大家有用。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。