日期:2014-05-19  浏览次数:20840 次

请教除了Process.Start外其他可以启动程序的方法
一般来说要开启一个程序是用Process.Start(),但最近我在服务程序启动时调用Process.Start()开启了一个窗口程序,但那个窗口程序在使用时总有问题。假如那个窗口程序不在服务里启动,而是手工启动,就没问题。所以现在我有些糊涂了。
我想问一下,除了Process.Start(),还有没有其他可以启动程序的方法?

------解决方案--------------------
using System.Runtime.InteropServices;

[DllImport( "kernel32.dll ")]
internal static extern uint WinExec(string lpCmdLine, uint uCmdShow);
private const uint SW_SHOW = 5;

private void button1_Click(object sender, EventArgs e)
{
WinExec(@ "c:\temp\temp.exe ", SW_SHOW);
}

------解决方案--------------------
你的那个程序,如果是系统服务类型的,最好使用ServiceController 类 来控制.