process的用法

colin666 2003-03-04 10:22:13
process.start()可以启动一个应用程序,那么怎么结束这个应用程序呢?
我用Process.Close()和Process.Kill()好象都不可以。另外,如何知道我现在是否运行了某应用程序呢?
...全文
1101 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
colin666 2003-03-14
  • 打赏
  • 举报
回复
up
colin666 2003-03-13
  • 打赏
  • 举报
回复
可以通过句柄关闭进程吗?
starky 2003-03-05
  • 打赏
  • 举报
回复
查看运行的进程

1.声明 Process 类型的空数组。
2.用来自 GetProcesses 方法的返回值填充这个空数组。
3.使用索引值循环访问进程数组,以获取数组中每个进程的进程名称并将其写到控制台。

下面的示例显示如何调用 Process 组件的 GetProcesses 方法,以返回进程数组并将 ProcessName 值写到控制台。

Process[] myProcesses = Process.GetProcesses();
foreach(Process myProcess in myProcesses)
{
Console.WriteLine(myProcess.ProcessName);
}
colin666 2003-03-05
  • 打赏
  • 举报
回复
还不行。:(;
我不知道该应用程序的友好名字。Process.GetProcessesByName(),我用文件名,没有效果。
我用Process.ProcessName,提示:无法从进程句柄中检索进程标识符。
glen 2003-03-05
  • 打赏
  • 举报
回复
//您调用的程序名称ccs.exe
//则进程名为ccs
//关闭进程
Process[] ps1;
ps1 = Process.GetProcessesByName("ccs");
foreach(Process p in ps1){
p.CloseMainWindow();
}
//检查进程是否运行
Process[] ps1;
ps1 = Process.GetProcessesByName("ccs");
if(ps1.Length==0)
MessageBox.Show("没有运行");
else
MessageBox.Show("已经运行");

学习C#,让世界变得简单!----青松

colin666 2003-03-05
  • 打赏
  • 举报
回复
但是这个程序没有processname啊
starky 2003-03-05
  • 打赏
  • 举报
回复
你枚举一下所有的processname ,不就知道了:)

一劳永逸的事情嘛;)
colin666 2003-03-05
  • 打赏
  • 举报
回复
start成功了啊
我在快速监中只能看到PROCESSHANDLE;
starky 2003-03-05
  • 打赏
  • 举报
回复
没有产生新的进程?

要不没有start成功,要不就是产生新进程。
colin666 2003-03-05
  • 打赏
  • 举报
回复
我打开的程序没有产生新的进程?:(
请问这种可能性存在吗?如果是这样,我怎么解决呢?
glboy 2003-03-04
  • 打赏
  • 举报
回复
我那是猜测的啊,一楼的是官方文档,参考他的
glboy 2003-03-04
  • 打赏
  • 举报
回复
使用process.dispose()


starky 2003-03-04
  • 打赏
  • 举报
回复
可通过两种方法利用 Process 组件停止进程。使用哪种方法取决于所停止的进程的类型:

如果进程有图形用户界面,则调用 CloseMainWindow 方法。该方法向进程的主窗口发送一个关闭请求,其行为与从用户界面中选择“关闭”命令相同。使用该方法使目标程序有机会在清除操作中提示用户保存任何没有保存的数据。

如果进程没有用户界面,则调用 Kill 方法。
注意 调用 Kill 方法将立即停止进程,而不提示保持更改的数据。任何没有保存的数据将丢失。
如果您希望组件在操作系统关闭进程时得到通知,必须将 EnableRaisingEvents 属性设置为 true。EnableRaisingEvents 属性用于在异步处理中向应用程序通知进程已退出。有关更多信息,请参阅 Process.EnableRaisingEvents 属性。


停止进程

调用 GetProcessByName 方法检索要停止的进程。
调用下列方法之一:
如果进程有用户界面,则调用 CloseMainWindow 方法。
如果进程无窗口,则调用 Kill 方法。
下面的示例显示如何调用 CloseMainWindow 方法来关闭本地计算机上当前运行的所有“记事本”实例:

// C#
Process[] myProcesses;
// Returns array containing all instances of Notepad.
myProcesses = Process.GetProcessesByName("Notepad");
foreach(Process myProcess in myProcesses){
myProcess.CloseMainWindow();
}


ms-help://MS.NETFrameworkSDK.CHS/cpguidenf/html/cptskStoppingProcesses.htm

110,568

社区成员

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

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

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