我想通过vb.net使用完整文件路径来终止应用程序,但我在Process下找不到它。我希望有一个简单的Process.Stop(filepath),就像Process.Start一样,但没有这样的运气。使用vb.net中的文件路径以编程方式终止应用程序
我该怎么做?
我想通过vb.net使用完整文件路径来终止应用程序,但我在Process下找不到它。我希望有一个简单的Process.Stop(filepath),就像Process.Start一样,但没有这样的运气。使用vb.net中的文件路径以编程方式终止应用程序
我该怎么做?
您必须查看每个进程的Modules属性,然后依次查看所需路径的文件名。
下面是一个例子:
VB.NET
Dim path As String = "C:\Program Files\Ultrapico\Expresso\Expresso.exe"
Dim matchingProcesses = New List(Of Process)
For Each process As Process In process.GetProcesses()
For Each m As ProcessModule In process.Modules
If String.Compare(m.FileName, path, StringComparison.InvariantCultureIgnoreCase) = 0 Then
matchingProcesses.Add(process)
Exit For
End If
Next
Next
For Each p As Process In matchingProcesses
p.Kill()
Next
C#
string path = @"C:\Program Files\Ultrapico\Expresso\Expresso.exe";
var matchingProcesses = new List<Process>();
foreach (Process process in Process.GetProcesses())
{
foreach (ProcessModule m in process.Modules)
{
if (String.Compare(m.FileName, path, StringComparison.InvariantCultureIgnoreCase) == 0)
{
matchingProcesses.Add(process);
break;
}
}
}
matchingProcesses.ForEach(p => p.Kill());
编辑:更新代码,以区分大小写考虑字符串比较。
尝试
System.Diagnostics.Process.GetProcessesByName(nameOfExeFile)。首先()。杀()
这忽略了文件的路径。
有没有办法做到* *路径虽然?或者,有没有办法从文件路径中找出文件的名称? – Cyclone 2009-09-09 21:30:47
为什么我会认真对待一个人,他的个人资料显示他来自Antartica,并且正在制作一款即将可以购买的MMORPG。顺便说一句,你不会通过他们的文件路径终止应用程序。而是使用通常是可执行文件名称的进程名称。 – 2009-09-09 21:31:09
南极的东西是一个笑话,MMORPG不是出售,我的最新作品(软件,与mmo无关)将尽快出售。为什么我应该认真对待一个不能开个小笑话的人?我知道你不会通过他们的文件路径终止应用程序,但我正在问如何去做。 – Cyclone 2009-09-09 21:37:04