简单进程问题求助
btnCreateProcess,用于创建一个打开ie的进程
Process csdn= Process.Start("IExplore.exe", "www.csdn.net");
btnGetProcess
我想获取 btnCreateProcess 创建的这个进程,这代码什么写?
作者: mydear303 发布时间: 2011-06-15
作者: bdmh 发布时间: 2011-06-15
int ID;
btnCreateProcess按钮事件下:
Process csdn= Process.Start("IExplore.exe", "www.csdn.net");
ID=csdn.Id
btnGetProcess 按钮事件下:
Process csdn= Process.GetProcessById(ID);
会报错:
ID为 ... 的进程当前未运行
我应该啥改咧?求高手教教,谢谢!!!
作者: mydear303 发布时间: 2011-06-15
作者: andy572633 发布时间: 2011-06-15
btnCreateProcess.Handle
刚接触,不是很明白?
应该是我书写得不好 btnCreateProcess 只是一个按钮,我应该在该按钮事件下写什么样的代码咧?
作者: mydear303 发布时间: 2011-06-15
作者: mydear303 发布时间: 2011-06-15
作者: xpcxpy 发布时间: 2011-06-15
返回值csdn 不是进程吗
不行,我试过了
作者: mydear303 发布时间: 2011-06-15
int id; private void button1_Click(object sender, EventArgs e) { Process csdn = Process.Start("IExplore.exe", "www.csdn.net"); id = csdn.Id; } private void button2_Click(object sender, EventArgs e) { MessageBox.Show((Process.GetProcessById(id)).ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }
我这完全没有错
作者: xpcxpy 发布时间: 2011-06-15
msdn的描述是:
返回值
类型:System.Diagnostics..::.Process
与该进程关联的新的 Process 组件,或者如果没有启动进程资源(例如,如果重用了现有进程),则为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。
作者: xpcxpy 发布时间: 2011-06-15
貌似是知道原因了,Process.Start()方法会“重用了现有进程”,如果事先已经打开了一个iexplorer的话,就会报错
msdn的描述是:
返回值
类型:System.Diagnostics..::.Process
与该进程关联的新的 Process 组件,或者如果没有启动进程资源(例如,如果重用了现有进程),则为 nullNothingnullptrnull 引用(在……
谢谢关注!!
那是不是说我想获取该进程只能通过找到"explorer.exe"进程来确定?
那如果我只是想关闭由按钮“btnCreateProcess”打开的IE什么办?
作者: mydear303 发布时间: 2011-06-16
作者: mydear303 发布时间: 2011-06-16
csdn.WaitForInputIdle();
int id = csdn.Id;
作者: zanfeng 发布时间: 2011-06-16
Process csdn = Process.Start("IExplore.exe", "www.csdn.net");
csdn.WaitForInputIdle();
int id = csdn.Id;
如果是还未打开任何一个IE的话是对的,但只要执行前电脑已打开一个IE就会报错
像 9楼 说的一样
不过感谢你的关注!!
作者: mydear303 发布时间: 2011-06-16
作者: mydear303 发布时间: 2011-06-16