为提高窗体应用程序的运行速度,想通过程序方式关闭其他存在运行的应用程序,如关闭word、AutoCad等。
------解决思路----------------------
查看 c# 系统方面开发 windows 系统编程之类 书..
启动进程:
private void StartProcess()
{
try
{
if (!CheckProcessExists())
{
Process p = new Process();
p.StartInfo.FileName = System.IO.Path.Combine(Application.StartupPath, "DataTool.exe");
p.StartInfo.Arguments = "DataTool.exe";
p.StartInfo.UseShellExecute = true;
p.Start();
p.WaitForInputIdle(10000);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Source + " " + ex.Message);
}
}
private bool CheckProcessExists()
{
Process[] processes = Process.GetProcessesByName("DataTool");
foreach (Process p in processes)
{
if (System.IO.Path.Combine(Application.StartupPath, "DataTool.exe") == p.MainModule.FileName)
return true;
}
return false;
}
结束进程:
private void KillProcessExists()
{
Process[] processes = Process.GetProcessesByName("AppStart");
foreach (Process p in processes)
{
if (System.IO.Path.Combine(Application.StartupPath, "AppStart.exe") == p.MainModule.FileName)
{
p.Kill();
p.Close();
}
}
}