Answers:
正如Matt Hamilton所建议的那样,对过程进行有限控制的一种快速方法是在System.Diagnostics.Process类上使用静态Start方法。
using System.Diagnostics;
...
Process.Start("process.exe");
替代方法是使用Process类的实例。这样可以对流程进行更多控制,包括调度,运行窗口的类型以及对我来说最有用的等待流程完成的能力。
using System.Diagnostics;
...
Process process = new Process();
// Configure the process using the StartInfo properties.
process.StartInfo.FileName = "process.exe";
process.StartInfo.Arguments = "-n";
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
process.Start();
process.WaitForExit();// Waits here for the process to exit.
这种方法比我已经提到的具有更多的控制权。
您可以使用System.Diagnostics.Process.Start方法启动进程。您甚至可以将URL作为字符串传递,它将启动默认浏览器。
正如Matt所说,使用Process.Start。
您可以传递URL或文档。它们将由注册的应用程序启动。
例:
Process.Start("Test.Txt");
这将启动Notepad.exe并加载Text.Txt。
Win32Exception
(0x80004005)“没有应用程序与此操作的指定文件关联”
我在自己的程序中使用了以下内容。
Process.Start("http://www.google.com/etc/etc/test.txt")
这有点基本,但是对我来说确实有用。
您可以使用以下语法来运行任何应用程序:
System.Diagnostics.Process.Start("Example.exe");
和一个URL相同。只需在此之间写入您的URL ()
。
例:
System.Diagnostics.Process.Start("http://www.google.com");
声明这个
[DllImport("user32")]
private static extern bool SetForegroundWindow(IntPtr hwnd);
[DllImport("user32")]
private static extern bool ShowWindowAsync(IntPtr hwnd, int a);
并将其放入函数中(请注意,“ checkInstalled”是可选的,但是如果要使用它,则必须实现它)
if (ckeckInstalled("example"))
{
int count = Process.GetProcessesByName("example").Count();
if (count < 1)
Process.Start("example.exe");
else
{
var proc = Process.GetProcessesByName("example").FirstOrDefault();
if (proc != null && proc.MainWindowHandle != IntPtr.Zero)
{
SetForegroundWindow(proc.MainWindowHandle);
ShowWindowAsync(proc.MainWindowHandle, 3);
}
}
}
注意:我不确定在运行多个.exe实例时是否能正常工作。
包括 using System.Diagnostics;
。
然后叫这个 Process.Start("Paste your URL string here!");
尝试这样的事情:
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Diagnostics;
namespace btnproce
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string t ="Balotelli";
Process.Start("http://google.com/search?q=" + t);
}
}
}
请注意,这是一个示例ASP.NET页面作为示例。您应该尝试即兴创作。
例如,要启动Microsoft Word,请使用以下代码:
private void button1_Click(object sender, EventArgs e)
{
string ProgramName = "winword.exe";
Process.Start(ProgramName);
}
有关更多说明,请查看此链接。
如果在Windows上使用
Process process = new Process();
process.StartInfo.Filename = "Test.txt";
process.Start();
适用于.Net Framework,但适用于Net core 3.1,还需要将UseShellExecute设置为true
Process process = new Process();
process.StartInfo.Filename = "Test.txt";
process.StartInfo.UseShellExecute = true;
process.Start();