Service path to executable
От: Gasy Россия  
Дата: 04.11.02 13:03
Оценка:
Как программно через ServiceController определить path to executable для сервиса?
Re: Service path to executable
От: TK Лес кывт.рф
Дата: 04.11.02 13:27
Оценка:
Здравствуйте Gasy, Вы писали:

G>Как программно через ServiceController определить path to executable для сервиса?


Скорее всего никак. Это делают через System.Managment
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Service path to executable
От: Gasy Россия  
Дата: 04.11.02 13:38
Оценка:
А не подскажите как это сделать через System.Managment?
Re[3]: Service path to executable
От: TK Лес кывт.рф
Дата: 04.11.02 13:46
Оценка:
Здравствуйте Gasy, Вы писали:

G>А не подскажите как это сделать через System.Managment?


Проще всего используя MgmtClassGen.exe создать класс оболочку для Win32_Service, а потом через метод .GetInstances отобрать нужный сервис и проверить у него свойство PathName.

PS.
Примерно того-же можно добиться используя Managment Extensions for VS.NET (SESetup.msi)
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Service path to executable
От: Gasy Россия  
Дата: 04.11.02 14:13
Оценка:
Огромное спасибо!!!
Получилось!!!
Я в .NET недавно, разбирался бы сам точно часов 10!!!
Re[5]: Service path to executable
От: kot_vaceknt  
Дата: 28.06.06 09:26
Оценка:
Здравствуйте, Gasy, Вы писали:

G>Огромное спасибо!!!

G>Получилось!!!
G>Я в .NET недавно, разбирался бы сам точно часов 10!!!

Я так и не смог понять, как же можно получить path, можно поподробней...
Re[6]: Service path to executable
От: De-Bill  
Дата: 28.06.06 09:36
Оценка:

using System.Management;

...

ManagementObject wmiService = new ManagementObject("Win32_Service.Name='" + DISPLAY_NAME + "'");

String filePath = (String)wmiService["PathName"];
Re[7]: Service path to executable
От: kot_vaceknt  
Дата: 28.06.06 14:51
Оценка:
Я вышел из положения по-другому


        RegistryKey rKey = Registry.LocalMachine.OpenSubKey("System").OpenSubKey("CurrentControlSet").OpenSubKey("Services").OpenSubKey(this.ServiceName, True);
        
        String servicePath;

        if ( rKey != null )
        { 
          servicePath = (String)rKey.GetValue("ImagePath");
        }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.