gifts2017

Мини-Эверест: Native ВК для 8.х

Опубликовал Аркадий Кучер (Abadonna) в раздел Программирование - Внешние компоненты

Список и свойства HDD, список и свойства ОЗУ, список запущенных процессов (для терминала - всех пользователей с указанием номера сессии), список запущенных сервисов, характеристики BIOS

ВК выполнена по технологии Native, т.е. не требует особых прав и регистрации в реестре.

Пример загрузки ВК:

Перем Инфо Экспорт;
Функция КаталогИБ() Экспорт
КаталогИБ = СтрокаСоединенияИнформационнойБазы();
КаталогИБ = Сред(КаталогИБ,7,СтрДлина(КаталогИБ)-8) + "\";
Возврат КаталогИБ;
КонецФункции


Процедура ПриНачалеРаботыСистемы()
ПутьDLL=КаталогИБ()+"NativeCompInfo.dll";
Файл=Новый Файл(ПутьDLL);
Если Не Файл.Существует() Тогда
Сообщить("Не обнаружен файл ""NativeCompInfo"", библиотека не загружена",СтатусСообщения.Внимание);
Возврат;
КонецЕсли;
//--- подключение компоненты--------
ПодключитьВнешнююКомпоненту(ПутьDLL,"NativeCompInfo",AddInType.Native);
//--- создание объекта класса------
Инфо = Новый("AddIn.NativeCompInfo.CompInfo");
КонецПроцедуры



Методы:
Диски() - возвращает многострочную строку жестких дисков.
Каждая строка имеет вид: Имя;Интерфейс;Модель;ЧислоРазделов;Объем(ГБ)
Процессоры() - возвращает многострочную строку процессоров.
Каждая строка имеет вид: Имя;Идентификатор;ЧастотаВнешнегоГенератора;ЧислоЯдер;ЧилоЛогическихПроцессоров
ОЗУ() - возвращает многострочную строку планок памяти. 
Каждая строка имеет вид: Идентификатор;СерийныйНомер;Разрядность;Частота;Объем
Процессы() - возвращает многострочную строку запущенных процессов (на терминале - всех пользователей).
Каждая строка имеет вид: Имя;Идентификатор(Handle);ИдентификаторТерминальнойСессии;ДатаСозданияПроцесса;ЗанимаемаяПамять(МБ)
Сервисы()- возвращает многострочную строку установленных сервисов
Каждая строка имеет вид: ОтображаемоеИмя;Идентификатор(Handle);Состояние;Статус
Пользователи() - возвращает многострочную строку зарегистрированных пользователей
Каждая строка имеет вид: Имя;Домен;SID(уникальный идентификатор пользователя);Статус
БИОС() - возвращает строку информации о BIOS примерно такого вида: BIOS Date: 09/30/09 12:52:30 Ver: 08.00.10 [Intel Corp.]
УбитьПроцесс(PID), где PID - число, идентификатор (handle) процесса

Примечание 1: разделитель во всех строках - точка с запятой
Примечание 2: в архиве файл 1CV8.1CD тестовой базы и файл ВК NativeCompInfo.dll. Пароль на архив: 123
Примечание 3: тестовые обработки включены в состав конфигурации (Операции-Обработка...)
Примечание 4: тестировалось на Windows XP, Windows Server 2008, Windows Server 2003

Версия 1.0.0.11
Добавлены методы:
ПолнаяИнформация(ИмяФайлаДляСохранения) - формирует текстовый файл с полной (расширенной) информации о компьютере:
BIOS, ОС, HDD, память, принтеры,сервисы, пользователи
УстановитьТаймер(Интервал) - устанавливает таймер с указанным интервалом в мс.
Таймер генерирует внешнее событие "TIMER_ON_TIMER", источник "NATIVE_COMP_INF"
Свойство таймера:
ИнтервалТаймера - считывает/устанавливает интервал таймера.
Пример: Сообщить(Инфо.ИнтервалТаймера); Инфо.ИнтервалТаймера=5000;
Установка ИнтервалТаймера=0 останавливает таймер
ПроцессыБезОтбора() - выводит все запущенные процессы с указанием % загрузки CPU и времени простоя процесса в наносекундах
ПроцессыПоПростою(ВремяПростоя) - выводит запущенные процессы для времени простоя процесса в нс>ВремяПростоя
ПроцессыПоЗагрузке() - выводит запущенные процессы, у которых % использование CPU>0
Примечание: три последних метода не возвращают значение напрямую (т.к. запускается таймер для расчета времен), а генерируют внешнее
событие "CPU_USE_IDLE" (см. встроенную обработку "CPU_USE")

Скачать файлы

Наименование Файл Версия Размер
Архив: 1CV8.1CD +NativeCompInfo.dll пароль на архив: 123 24
.rar 270,95Kb
28.09.16
24
.rar 1.0.0.11 270,95Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. script Мальчинко (script) 22.08.14 00:56
А можно добавить перехват события простоя процесса больше n-сек? n-сек - передавать параметром?
2. Аркадий Кучер (Abadonna) 21.08.14 23:19
(1) script, сейчас кое-что дописываю, посмотрю насчет времени простоя
3. Информационно-технического развития Служба (SITR-utyos) 26.08.14 19:57
Идея хорошая, но сейчас уже есть публикации, позволяющие все это сделать в 1С с помощью WMI
4. Аркадий Кучер (Abadonna) 26.08.14 16:01
(3) SITR-utyos,
но сейчас уже есть публикации, позволяющие все это сделать в 1С с помощью WMI

Так я ж не спорю;) Публикации не просматривал, а это делал для себя, причем даже не для 1С. Просто впихнул готовый кусок кода в ВК.
5. Иван Петров (BoryaMbi) 27.08.14 15:17
А как создавалась компонента?
Исходники для ВК?
Интересно именно самостоятельное создание ВК.
Спасибо.
6. Аркадий Кучер (Abadonna) 27.08.14 11:32
(5) BoryaMbi, шаблоны ВК на С++ на ИТС, шаблон на Delphi вот тут: http://infostart.ru/public/81644/
А дальше WinAPI и с песней вперед ;)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа