Как я могу контролировать службы Windows с помощью C#, и мне также нужно сохранить имя этих служб, время начала и время окончания службы, используя CSV-файл. Если запускаются какие-либо новые службы, они должны автоматически записывать имя службы, время начала и время окончания службы, используя существующий файл CSV.Как контролировать службы Windows с помощью C#
0
A
ответ
0
Вы можете перечислить текущие службы, используя ServiceController
или ManagementObjectSearcher
.
Вот пример использования ManagementObjectSearcher
:
using System.Management;
...
StringBuilder sb = new StringBuilder();
string format = "{0},{1},{2},{3},{4}";
// Header line
sb.AppendFormat(format, "DisplayName",
"ServiceName",
"Status",
"ProcessId",
"PathName");
sb.AppendLine();
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_Service");
foreach(ManagementObject result in searcher.Get())
{
sb.AppendFormat(format, result["DisplayName"],
result["Name"],
result["State"],
result["ProcessId"],
result["PathName"]
);
sb.AppendLine();
}
File.WriteAllText(
@"C:\temp\ManagementObjectSearcher_services.csv",
sb.ToString()
);
Для получения времени начала и окончания, похоже, вы должны запросить журнал событий Windows.
Этот блог показать, как вы можете контролировать журнал событий, чтобы получить уведомление, когда служба остановлена или начала: https://dotnetcodr.com/2014/12/02/getting-notified-by-a-windows-service-status-change-in-c-net/
Смежные вопросы
- 1. Как контролировать службы Windows
- 2. Невозможно контролировать службы Windows, созданные с СБНОМ
- 3. Возможно ли контролировать службы Windows с помощью Perfino и Zipkin?
- 4. Как вызвать приложение Windows с помощью службы Windows на C#?
- 5. Получить зависимые службы Windows с помощью C#
- 6. Как контролировать состояние приложения Windows C#?
- 7. Как запустить программу с помощью службы Windows?
- 8. Перезапустить службы Windows с C#
- 9. Печать с помощью службы Windows
- 10. Как контролировать внешние веб-службы?
- 11. запустить приложение Windows с помощью службы windows
- 12. Как приостановить и продолжить работу службы Windows с помощью C#
- 13. Как запустить программу EXE из службы Windows с помощью C#
- 14. Как захватить событие Logoff с помощью службы Windows на C#?
- 15. C# Ошибка службы Windows
- 16. WCF с помощью службы windows
- 17. Печать с помощью службы Windows
- 18. Как развернуть службы Windows с помощью MSBuild?
- 19. Как потреблять Windows Communication Foundation (WCF) с помощью службы Windows
- 20. C# Windows служба профилирование с помощью Glimpse
- 21. Как контролировать программу C#
- 22. C#: Хостинг службы Windows
- 23. Получение сообщений MSMQ с помощью службы Windows
- 24. Использование службы Windows C#
- 25. как контролировать службу Windows с помощью веб-страницы
- 26. Как контролировать «Управление громкостью Windows XP» с помощью VC#
- 27. Печать файла с использованием службы C# windows
- 28. Как открыть приложение с помощью службы Windows в Windows 7?
- 29. Предотвращение остановки службы службы Windows C#
- 30. Как контролировать процесс окна с помощью java?
Windows, уже записывает эту информацию в журнале событий. Почему бы просто не использовать это? –
откуда я могу получить этот файл журнала @Damien_The_Unbeliever – ZearaeZ