private void btnOK_Click(object sender, EventArgs e)
{
Assembly asm = Assembly.GetExecutingAssembly();
string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
if (cbProgram.Checked)
{
System.Diagnostics.Process.Start(path + "\\JYG.StartCenter.exe");
}
Thread thread = new Thread(new ThreadStart(OpenManaul));//直接打开太慢了,开个线程
thread.Start(); this.Close();
} //打开帮助手册
private void OpenManaul()
{
Assembly asm = Assembly.GetExecutingAssembly();
string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
if (cbHelp.Checked)
{
System.Diagnostics.Process.Start(path + "\\help.doc");
}
}
我不开启线程,直接System.Diagnostics.Process.Start(path + "\\help.doc");打开这个文档,是可以打开的,但是速度太慢。如果用了线程,那么结果就是只打开了word,没有打开help.doc,这是为什么呢?
建议用System.Diagnostics.Process.Start打开,最简化的操作,其它的都交给系统处理了.
{
Assembly asm = Assembly.GetExecutingAssembly();
string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
if (cbProgram.Checked)
{
System.Diagnostics.Process.Start(path + "\\JYG.StartCenter.exe");
}
Thread thread = new Thread(new ThreadStart(OpenManaul));//直接打开太慢了,开个线程
thread.Start(); this.Close();
} //打开帮助手册
private void OpenManaul()
{
Thread.sleep(5000);
Assembly asm = Assembly.GetExecutingAssembly();
string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
if (cbHelp.Checked)
{
System.Diagnostics.Process.Start(path + "\\help.doc");
}
}这样行吗