Здравствуйте, Black_, Вы писали:
Кратко: Process.GetProcesses(), Process.Modules, ProcessModule.FileName.
Точнее:
using System;
using System.Diagnostics;
namespace Temp2005
{
class Program
{
static Process FindProcess(string fileName)
{
foreach (Process process in Process.GetProcesses())
{
Console.WriteLine(process.ProcessName);
Console.WriteLine("---------------------------");
try
{
foreach (ProcessModule module in process.Modules)
{
Console.WriteLine(module.FileName);
if (module.FileName.ToLower().IndexOf(fileName.ToLower()) >= 0)
{
return process;
}
}
}
catch (Exception)
{
Console.WriteLine("Access denied");
}
Console.WriteLine();
}
throw new Exception(string.Format("Couldn't find process for module {0}", fileName));
}
[STAThread]
static void Main()
{
try
{
Console.WriteLine(FindProcess("iexplore.exe"));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}