База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как получить таблицу значений запущенных процессов в 1С? › RE: Как получить таблицу значений запущенных процессов в 1С?
Привет, Богдан!
Функция №1, которая получает таблицу значений всех запущенных процессов, выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 1C // Функция получения таблицы значений всех запущенных процессов // Параметры // ПоФильтруПриложения - Строка - Указать имя приложения. Например "EXCEL.EXE" // Если не указано, тогда по всем процессам // Возвращаемое значение // ТаблицаЗначений с именами колонок // - Приложение - Строка // - ИД - Число // - РодительскийИД - Число Функция ТабЗнач_ПолучитьВсеПроцессы(Знач ПоФильтруПриложения="") Экспорт ПоФильтруПриложения=НРег(ПоФильтруПриложения); ТабЗн=Новый ТаблицаЗначений; ТабЗн.Колонки.Добавить("Приложение"); ТабЗн.Колонки.Добавить("ИД"); ТабЗн.Колонки.Добавить("РодительскийИД"); Локатор=Новый COMОбъект("wbemscripting.swbemlocator"); Сервис=Локатор.ConnectServer(".", "rootcimv2"); ComputerSystems = Сервис.ExecQuery("Select * from Win32_Process"); Для Каждого ComputerSystem Из ComputerSystems Цикл ИмяПриложения=ComputerSystem.Name; Если ПоФильтруПриложения="" ИЛИ НРег(ИмяПриложения)=ПоФильтруПриложения Тогда СтрТаб=ТабЗн.Добавить(); СтрТаб.Приложение=ИмяПриложения; СтрТаб.ИД=ComputerSystem.ProcessID; СтрТаб.РодительскийИД=ComputerSystem.ParentProcessID; КонецЕсли; КонецЦикла; Возврат ТабЗн; КонецФункции |
### Как отслеживать указанный процесс, например приложение Excel:
1. **Вызов функции**: Для отслеживания процесса Excel, вы можете вызвать функцию ТабЗнач_ПолучитьВсеПроцессы
с параметром “EXCEL.EXE”.
1 2 | 1C ТаблицаПроцессов = ТабЗнач_ПолучитьВсеПроцессы("EXCEL.EXE"); |
2. **Обработка результата**: После вызова функции, переменная ТаблицаПроцессов
будет содержать таблицу значений, в которой будут перечислены все запущенные процессы с именем “EXCEL.EXE”, а также их идентификаторы (ИД) и родительские идентификаторы.
Таким образом, вы сможете отслеживать запущенные экземпляры приложения Excel и получать информацию о них.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!