Re: как получить ID процесса,зная только имя exe файла??
От: krasin Россия  
Дата: 20.11.05 00:38
Оценка: 2 (1)
Здравствуйте, 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);
            }
        }

    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.