Process T = Process.Start("C:\\Users\\JahIthBer\\Desktop\\Archive\\WOWkey.png"); Process E = Process.GetProcessById(T.Id); Thread.Sleep(2000); E.Kill(); 每次运行总是提示E是NULL Reference,应该就是没有正确赋值,要怎么解决?
可能是你在执行这一句的时候Process E = Process.GetProcessById(T.Id); 你启动的进程还没有添加到进程列表,所以通过ID是找不到的 可以加上这么一句,等到进程完全启动以后,再去通过ID取进程的对象 Process T = Process.Start("C:\\Users\\JahIthBer\\Desktop\\Archive\\WOWkey.png"); T.WaitForInputIdle(2000);//等2秒钟 然后再执行Process E = Process.GetProcessById(T.Id); 其实只要使用T对象就可以了,不需要再创建一个E对象