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