База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить таблицу значений запущенных процессов в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 год назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
9 декабря 2024 в 17:15 #30818
Функция №1 получения таблицы значений всех запущенных процессов, чтобы отслеживать указанный процесс в параметре можно указать любой из них, например приложение Excel
-
9 декабря 2024 в 17:15 #30819
Привет, Богдан!
Функция №1, которая получает таблицу значений всех запущенных процессов, выглядит следующим образом:
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».
1C ТаблицаПроцессов = ТабЗнач_ПолучитьВсеПроцессы("EXCEL.EXE");2. **Обработка результата**: После вызова функции, переменная `ТаблицаПроцессов` будет содержать таблицу значений, в которой будут перечислены все запущенные процессы с именем «EXCEL.EXE», а также их идентификаторы (ИД) и родительские идентификаторы.
Таким образом, вы сможете отслеживать запущенные экземпляры приложения Excel и получать информацию о них.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.