简单进程问题求助

mydear303 2011-06-15 05:05:19
页面上有两个按钮

btnCreateProcess,用于创建一个打开ie的进程

Process csdn= Process.Start("IExplore.exe", "www.csdn.net");

btnGetProcess

我想获取 btnCreateProcess 创建的这个进程,这代码什么写?
...全文
159 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mydear303 2011-06-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xpcxpy 的回复:]

貌似是知道原因了,Process.Start()方法会“重用了现有进程”,如果事先已经打开了一个iexplorer的话,就会报错

msdn的描述是:
返回值
类型:System.Diagnostics..::.Process

与该进程关联的新的 Process 组件,或者如果没有启动进程资源(例如,如果重用了现有进程),则为 nullNothingnullptrnull 引用(在……
[/Quote]

谢谢关注!!

那是不是说我想获取该进程只能通过找到"explorer.exe"进程来确定?

那如果我只是想关闭由按钮“btnCreateProcess”打开的IE什么办?
mydear303 2011-06-16
  • 打赏
  • 举报
回复
help help me
mydear303 2011-06-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zanfeng 的回复:]

Process csdn = Process.Start("IExplore.exe", "www.csdn.net");
csdn.WaitForInputIdle();
int id = csdn.Id;
[/Quote]

如果是还未打开任何一个IE的话是对的,但只要执行前电脑已打开一个IE就会报错

像 9楼 说的一样

不过感谢你的关注!!

足球中国 2011-06-16
  • 打赏
  • 举报
回复
Process csdn = Process.Start("IExplore.exe", "www.csdn.net");
csdn.WaitForInputIdle();
int id = csdn.Id;
mydear303 2011-06-16
  • 打赏
  • 举报
回复
NO 有人来帮帮我咧
xpcxpy 2011-06-15
  • 打赏
  • 举报
回复
貌似是知道原因了,Process.Start()方法会“重用了现有进程”,如果事先已经打开了一个iexplorer的话,就会报错

msdn的描述是:
返回值
类型:System.Diagnostics..::.Process

与该进程关联的新的 Process 组件,或者如果没有启动进程资源(例如,如果重用了现有进程),则为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。
xpcxpy 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);
}

我这完全没有错
mydear303 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xpcxpy 的回复:]

返回值csdn 不是进程吗
[/Quote]
不行,我试过了
xpcxpy 2011-06-15
  • 打赏
  • 举报
回复
返回值csdn 不是进程吗
mydear303 2011-06-15
  • 打赏
  • 举报
回复
来人啊,救火啦。。。。。。
mydear303 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

btnCreateProcess.Handle
[/Quote]

刚接触,不是很明白?

应该是我书写得不好 btnCreateProcess 只是一个按钮,我应该在该按钮事件下写什么样的代码咧?
andy572633 2011-06-15
  • 打赏
  • 举报
回复
我来学习。。。
mydear303 2011-06-15
  • 打赏
  • 举报
回复
如果声明一个全局变量存取该进程ID
int ID;

btnCreateProcess按钮事件下:

Process csdn= Process.Start("IExplore.exe", "www.csdn.net");
ID=csdn.Id


btnGetProcess 按钮事件下:
Process csdn= Process.GetProcessById(ID);
会报错:
ID为 ... 的进程当前未运行

我应该啥改咧?求高手教教,谢谢!!!
bdmh 2011-06-15
  • 打赏
  • 举报
回复
btnCreateProcess.Handle

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧