22 个解决方案
#1
UP!UP!
#2
Process.Start不会执行IO的打开文件,只是执行程序,如果不是程序,则用标准方法打开文件。你无法控制那个程序是否释放对文件的读写占用。比如word。
#3
试试Process.kill();
#4
我就是要一次打开多个应用程序的,和IO无关,但是我查看了Process下的函数定义,没有有关关闭程序或者关闭指定进程ID的方法。高手请指教,给我点思路,小弟先谢谢了。
最好说的详细点。
最好说的详细点。
#5
学习了~
#6
你说的Process.kill()是在System.Diagnostics下么?这个下面没有kill()的定义啊
#7
Process.kill();
#8
Terminate
#9
是System.Diagnostics下的,我这边显示是有的: Process.Kill();
#10
#11
学习!!
#12
通过Process进程控制函数就行了。杀死进程就行了,这个不难
#13
学习下……
#14
#15
proces打开WORD,等文件是调用相关程序打开
通过获取当前进程,关闭进程如
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
foreach (Process thisproc in Process.GetProcessesByName(processName)) {
if(!thisproc.CloseMainWindow()){
thisproc.Kill();
}}
通过获取当前进程,关闭进程如
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
foreach (Process thisproc in Process.GetProcessesByName(processName)) {
if(!thisproc.CloseMainWindow()){
thisproc.Kill();
}}
#16
一次打开多个应用程序的,和IO无关!没有kill()的定义
#17
问题已经解决,用的wuyq11的方法,谢谢各位!
现在结贴
现在结贴
#18
学习。。
#19
foreach (System.Diagnostics.Process thisproc in System.Diagnostics.Process.GetProcessesByName(fileName[b-1]))
{
if (!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
b = b -1;
}
用这种方法,可是单步执行的时候发现foreach根本不执行{}内的语句;用下面的方法:
for (c=0;c<10;c++)
{
System.Diagnostics.Process thisproc = System.Diagnostics.Process.GetProcessesByName(fileName[c]);
if (thisproc.CloseMainWindow())
{
thisproc.Close();
}
}
提示错误:Error 1 Cannot implicitly convert type 'System.Diagnostics.Process[]' to 'System.Diagnostics.Process'
{
if (!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
b = b -1;
}
用这种方法,可是单步执行的时候发现foreach根本不执行{}内的语句;用下面的方法:
for (c=0;c<10;c++)
{
System.Diagnostics.Process thisproc = System.Diagnostics.Process.GetProcessesByName(fileName[c]);
if (thisproc.CloseMainWindow())
{
thisproc.Close();
}
}
提示错误:Error 1 Cannot implicitly convert type 'System.Diagnostics.Process[]' to 'System.Diagnostics.Process'
#20
不好意思,这个问题小弟还是没有解决,不够的话我再开贴给分!谢谢
#21
有人继续讨论么?
#22
能告诉答案吗
#1
UP!UP!
#2
Process.Start不会执行IO的打开文件,只是执行程序,如果不是程序,则用标准方法打开文件。你无法控制那个程序是否释放对文件的读写占用。比如word。
#3
试试Process.kill();
#4
我就是要一次打开多个应用程序的,和IO无关,但是我查看了Process下的函数定义,没有有关关闭程序或者关闭指定进程ID的方法。高手请指教,给我点思路,小弟先谢谢了。
最好说的详细点。
最好说的详细点。
#5
学习了~
#6
你说的Process.kill()是在System.Diagnostics下么?这个下面没有kill()的定义啊
#7
Process.kill();
#8
Terminate
#9
是System.Diagnostics下的,我这边显示是有的: Process.Kill();
#10
#11
学习!!
#12
通过Process进程控制函数就行了。杀死进程就行了,这个不难
#13
学习下……
#14
#15
proces打开WORD,等文件是调用相关程序打开
通过获取当前进程,关闭进程如
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
foreach (Process thisproc in Process.GetProcessesByName(processName)) {
if(!thisproc.CloseMainWindow()){
thisproc.Kill();
}}
通过获取当前进程,关闭进程如
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
foreach (Process thisproc in Process.GetProcessesByName(processName)) {
if(!thisproc.CloseMainWindow()){
thisproc.Kill();
}}
#16
一次打开多个应用程序的,和IO无关!没有kill()的定义
#17
问题已经解决,用的wuyq11的方法,谢谢各位!
现在结贴
现在结贴
#18
学习。。
#19
foreach (System.Diagnostics.Process thisproc in System.Diagnostics.Process.GetProcessesByName(fileName[b-1]))
{
if (!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
b = b -1;
}
用这种方法,可是单步执行的时候发现foreach根本不执行{}内的语句;用下面的方法:
for (c=0;c<10;c++)
{
System.Diagnostics.Process thisproc = System.Diagnostics.Process.GetProcessesByName(fileName[c]);
if (thisproc.CloseMainWindow())
{
thisproc.Close();
}
}
提示错误:Error 1 Cannot implicitly convert type 'System.Diagnostics.Process[]' to 'System.Diagnostics.Process'
{
if (!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
b = b -1;
}
用这种方法,可是单步执行的时候发现foreach根本不执行{}内的语句;用下面的方法:
for (c=0;c<10;c++)
{
System.Diagnostics.Process thisproc = System.Diagnostics.Process.GetProcessesByName(fileName[c]);
if (thisproc.CloseMainWindow())
{
thisproc.Close();
}
}
提示错误:Error 1 Cannot implicitly convert type 'System.Diagnostics.Process[]' to 'System.Diagnostics.Process'
#20
不好意思,这个问题小弟还是没有解决,不够的话我再开贴给分!谢谢
#21
有人继续讨论么?
#22
能告诉答案吗