|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.11.2011, 19:21 | #1 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Пишем HTML-приложение для мониторинга ресурсов Windows [статья]
Однажды, в студеную зимнюю... заинтересовал меня вопрос мониторинга ресурсов Windows, а конкретно (хочется добавить "чисто" конкретно) мониторинга объема свободной памяти (физической и виртуальной), процента использования файла подкачки и загрузки процессоров. Казалось бы - ничего особенного - для этого существуют соответствующие классы WMI. Однако заинтересовал меня этот вопрос потому, что необходимо было реализовать "игру цветом", т.е. в случае уменьшения объема ресурса цвет индикатора должен был измениться на "более красный". Итак. В этой статье я предлагаю Вам отправиться в увлекательное путешествие по изучению изменения цвета окна . Поехали? Открываем блокнот. Пишем HTA: |
11.11.2011, 19:22 | #2 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Продолжение
Код:
|
11.11.2011, 19:23 | #3 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Продолжение
Сохраняем, запускаем... Правда красиво? Кажется наше путешествие заканчивается, не успев начаться , а чтобы сделать его "увлекательным" я опишу алгоритм.
При загрузке окна мы запускаем рекурсивную процедуру изменения цвета SetColor, которая и выставляет цвет окна - window.document.body.style.backgrou nd используя функцию перевода RGB в Hex GetStrHex. Начинаем с 0,0,255 - "радикально синего" цвета . Далее, в процессе рекурсии, каждые 5 миллисекунд процедура SetColor добаляет "красного" - x = x + 1, и убавляет "синего" - z = z - 1, до тех пор, пока цвет окна не станет "радикально красным" - If z <> 0 Then. А теперь давайте попробуем изменить палитру - начать с зеленого. Для этого достаточно изменить пару строчек: window.setTimeout "SetColor "& 0 & "," & 255 & "," & 0,1, "vbscript" - чтобы начать с зеленого цвета, и y = y - 1 вместо z = z - 1 - чтобы убавлять "зеленый". Теперь, когда у нас есть алгоритм изменения цвета мы можем приступить к реализации алгоритма мониторинга целевых ресурсов. Для мониторинга процента загрузки процессоров используем WMI-класс Win32_Processor, файла подкачки - Win32_PageFileUsage, свободной физической и виртуальной памяти - Win32_OperatingSystem, объема физической памяти - Win32_PhysicalMemory. Открываем блокнот, пишем не более сложный чем прежде код: Последний раз редактировалось dab00; 11.11.2011 в 19:25. |
11.11.2011, 19:26 | #4 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Продолжение
Код:
|
11.11.2011, 19:27 | #5 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Продолжение
Код:
|
11.11.2011, 19:29 | #6 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Завершение
При загрузке приложение принимает необходимый размер, выставляется в нужную позицию, устанавливает обработку события нажатия на кнопку закрытия окна и запускает рекурсивную процедуру обновления информации о целевых ресурсах UpdateInfo, которая, в свою очередь, раз в секунду выполняет WMI-запросы к заявленным выше WMI-классам и обновляет информацию окна HTA.
Сохраняем, запускаем... Вуаля. В развитие разработки, с помощью библиотеки DAHTACOM можно установить позицию окна приложения "поверх всех", закинуть иконку приложения в область уведомлений, использовать PNG-изображение с альфа-каналом в качестве "корпуса" окна HTA... Но это уже совсем другая история... В завершение нашего "путешествия" хочу обратить Ваше внимание на то, что для запуска полученного в результате приложения, а чисто конкретно (давно собирался использовать этот речевой оборот) для подключения к службе WMI необходимо обладать правами администратора. Что получилось - на скриншоте и во вложении. |
05.04.2012, 21:46 | #7 | ||
Пользователь
Регистрация: 17.06.2008
Сообщений: 16
|
dab00 - ЗЛОСТНЫЙ ВОРИШКА. бей его...
ЧТО ЭТО ЗА СЛОВОБЛУДИЕ?!
dab00, неуважаемый, а вы не слишком-ли разогнались в погоне за пиаром? А автора, или ссылку на первоисточник, не забыл указать? Цитата:
Знаешь ли ты что такое "эврика!" ? И всё для чего? Чтобы на пустом месте пропиарить твою бестолковую бухгалтерскую жопу? Понавесило свистелок, приписал авторство, и под аккомпанемент слащавых и безинформативных речей (вы только вчитайтесь в любую из статей!) заспамил все посещаемые тематические ресурсы (изначально было (!)115). Ни "можно взять и вытрать Вашу подпись?", ни даже слова "спасибо"! На контакт не выходит. И только через пол года после выдвинутой ему первой предъявы (вероятно, при давлеяни администрации VR'а) получаю от него одно лишь коротенькое сообщение: Цитата:
Эко ты разогнался, вопрос только открывается, будет худо - терпи и плати по заслугам. dab00 - подлый меркантильный и бессовестный персонаж - на VR-online он это доказал и даже не собирался опровергать - игнорировал и кривлялся в ответ. Большинство статей под ником dab00 - плагиат, рестайл и копипаста. бей его... Прошу добавить в начало статьи соответствующую пометку. Вот что посоветуете с ним делать, товарищи? Последний раз редактировалось kiber_punk; 05.04.2012 в 23:13. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пишем VBS-приложение для преображения кода VB [статья] | dab00 | JavaScript, Ajax | 10 | 06.10.2012 17:14 |
Пишем WinLocker на VB [статья] | dab00 | JavaScript, Ajax | 2 | 12.01.2012 19:30 |
Статья: Низкоуровневое сетевое программирование. Пишем клиент/серверное приложение на сокетах Беркли | oleg kutkov | C/C++ Сетевое программирование | 42 | 22.01.2011 00:35 |
Новый двухкнопочный калькулятор для новой операционной системы. Пишем новые программы для BolgenOS. | Ecosasha | Софт | 16 | 06.06.2010 13:32 |
обновление в блоге - Низкоуровневое сетевое программирование. Пишем клиент/серверное приложение на сокета | Pblog | Обсуждение статей | 0 | 01.11.2009 22:20 |