C#中UseShellExecute=false问题怎样解决
在C#中,当使用Process类启动一个外部程序时,设置UseShellExecute属性为false可以禁用系统的Shell履行器。这意味着,启动的进程将不会由操作系统的Shell来履行,而是由自己的进程直接履行。
通常,当将UseShellExecute属性设置为false时,需要同时设置FileName属性来指定要启动的程序的路径。如果只设置了FileName属性而没有设置WorkingDirectory属性,可能会致使启动的进程找不到所需的资源文件。
解决UseShellExecute=false问题,可以依照以下步骤进行:
1. 创建一个Process对象并设置相应的属性。
```csharp
Process process = new Process();
process.StartInfo.FileName = "程序路径";
process.StartInfo.UseShellExecute = false;
process.StartInfo.WorkingDirectory = "工作目录路径";
```
2. 启动进程。
```csharp
process.Start();
```
使用上述步骤,可以正确地禁用Shell履行器,并启动指定路径的程序。
TOP