Суббота, 27.04.2024, 04:45
lexover.at.ua
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Контактные Данные

+38 093 722 2308

+38 099 293 9894

+38 098 846 7513

Аккаунт Вконтакте

Группа Вконтакте

Twitter - @lexover_

facebook

Skype : lexover

ICQ : 9468321

Новости
[26.11.2019]
iCopy Plus - восстанавливает трутон, шьет и обнуляет аккумуляторы iPhone 
[28.09.2019]
Форстач в iPhone X работает с порванным шлейфом. Аппаратный 3D touch Apple в X программный фэйк ? 
[22.09.2019]
Переделываем TBK 108 под формы YMJ 
[18.09.2019]
Замена стекла Samsung Galaxy A50 2019 A505 
[10.09.2019]
Тестер тачскринов iPhone X, Xs, Xs Max своими руками. Проверка сенсоров IPhone X безопасным способом 
[06.09.2019]
Замена стекла Apple Watch 4 44mm 
[03.09.2019]
ZY OLED - Китайский олед дисплей для iPhone X 
[02.09.2019]
Xiaomi Mijia Wiha 24 in 1 - отвертки не для iPhone. Мои впечатления от набора. 
[27.08.2019]
Формы YMJ v2 0 для переклейки iPhone X и Xs 
[25.08.2019]
Не хуже AirPower! Беспроводная зарядка Baseus Smart 3 in 1 Wireless Charger 
Объявления
[30.06.2015]
Дисплей LG Optimus 3D p920 
[26.06.2015]
Разъем наушников LG Optimus 3D p920 
[25.06.2015]
Основная камера LG Optimus 3D p920 
[25.06.2015]
Модуль microsd и sim карт samsung galaxy s4 i9505 
[22.04.2015]
Gigabyte Gsmart 1362 на разборку. 
[22.04.2015]
Аккумулятор gigabyte g-smart 1362. оригинал бу. в использовании менее 4х месяцев. 
[22.04.2015]
Фронтальная камера с датчиками приближения и освещенности gsmart rio r1 
[22.04.2015]
Слуховой динамик с датчиками освещенности и приближения samsung galaxy s4 i9505 
[22.04.2015]
Системная плата Samsung Galaxy S3 i9300 в неисправном состоянии 
[22.04.2015]
Сенсорные кнопки samsung galaxy s4 i545 в полность исправном состоянии. 
Загрузки
[26.12.2012]
Даташиты
[05.02.2012]
Моя коллекция SPD
[02.01.2012]
Стресс-тесты
[02.01.2012]
МОНИТОРИНГ
Реклама
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Сделай Сам

Ненавязчивый мониторинг
Так уж получилось, что все программы мониторинга крайне не рационально используют экранное пространство - информации, которая способна уместиться в несколько строк, отводится здоровенное окно. Для снятия скринов с результатами разгона такой размер неплох, но оставлять такое окно постоянно открытым неудобно. Однако при разгоне «свеженькой» системы я привык контролировать и наблюдать за ее параметрами постоянно – так легче понять, что и когда глюкнуло и что надо подкрутить, чтобы устранить проблему... Одним словом я давно мечтал о ненавязчивом мониторинге, который всегда виден и не мешается под ногами (в рабочем пространстве)… Сказать честно я о нем только мечтал, но каких либо особых усилий для поиска или реализации не прикладывал. Однажды гуляя по страницам rutracker.org я наткнулся на одну интересную тему в которой шло обсуждение приблуды именуемой Rainmeter... из обсуждения становилось понятно что среда этой программы позволяет писать самые разнообразные гаджеты для рабочего стола, кроме того у нее довольно развиты ф-ции мониторинга, а те которых не хватает реализуются с помощью плагинов. В стандартный пакет входит плагин для Core Temp... Главной же фишкой этой программы было то что гаджет можно по сути сделать частью рабочего стола... Программка открывала путь к реализации моей древней мечты о ненавязчивом и постоянном мониторинге системы... и я принялся за изучение основ... на официальном сайте программы есть подробный FAQ по написанию гаджетов, кроме того мною было скачано несколько тем для Rainmeter и изучены входящие в их состав скины (гаджеты).
Скин в Rainmeter это текстовый ini файл, содержащий описание датчиков и индикаторов выводимых на экран. Под индикатором понимается любой видимый на экране объект, в т. ч. изображение (картинка) с точки зрения rainmeter является индикатором. Кроме того для индикаторов можно присвоить действия которые будут совершены при нажатии на них мышью. Т.е. получалось что можно сделать не просто скин для мониторинга, а полноценный и многофункциональный GUI. Мне в частности сразу захотелось чтобы в моем гаджете была кнопка для мгновенного снятия скриншота рабочего стола, а также кнопки запуска всех оверских приблуд (CPU-z, LinX, etc). Впрочем все это частности переходим к описанию результатов моих трудов

Полазив по сайту с темами для Rainmeter, я выбрал простенький скин для модификации под свои нужды. Тогда еще не было мыслей о том что бы афишировать результаты своих трудов, и скин выбирался по внешнему виду. Мне понравился вот этот вариант:




Его легко было адаптировать под расположение в верхнем левом углу экрана. Почему именно в левом ? Этот угол как правило ничем не занят, и хорошо виден если приложение не развернуто на полный экран. Изображение было слегка изменено, в скин были добавлены стандартные индикаторы Core Temp - а именно температур и VID, а так же основная информация о разогнанной системе - название процессора, данные о шине, частоте, множителе, версии операционной системы, Up Time. Также на скине отображается информация о загрузке оперативной памяти, свапфайла, общая загрузка процессора, время и дата (реализовано средствами Rainmeter). Чуть позже были добавлены индикаторы загрузки всех потоков, кнопки запуска оверклокерских приложений, а также с помощью внешней команды добавлена функция сокрытия иконок рабочего стола.
На картинке ниже то что получилось:


Core Temp Skin


Не желая останавливаться на достигнутом, я стал изучать форум Rainmeter, с целью оптимизировать текст скина, а так же в поисках того как реализовать функцию снятия скриншота... В процессе чтения форума наткнулся на beta версию плагина для чтения данных из Open Harware Monitor (OHM)- кто не знает, это open source аналог HWmonitor. Так появился вторая версия скина:


Open Hardware Monitor skin


Кроме перехода на плагин OHM, в скине была реализована кнопка снятия скриншота, средствами утилиты nircmd (замечательная надо сказать штука - позволяет делать множество операций с системой через командную строку, рекомендую). В скин добавился мониторинг всех множителей, температуры видеокарты, материнской платы и СМ... Именно на этом этапе я подумал что скин можно довести до ума и выложить для свободного использования. Я понимал, что в угловом варианте скина разместить максимум информации о системе (дабы охватить весь спектр пожеланий пользователей) не получится, поэтому был создан вертикальный боковой гаджет в который при желании можно было бы вывести большое кол-во данных:



В скине появляется кнопка переключения между вертикальным и угловым вариантами, появляется название - Overclock it!!! (первое что пришло в голову ), появляются данные о загрузке видеоядра и видеопамяти. Добавляются кнопка вызова меню настройки в котором можно изменять прозрачность панели, цвет шрифта, пути к приложениям. Меню настроек реализовано через AutoIt.


Настройки


Стоит ли говорить что я вошел во вкус скинизации программ мониторинга... и в поисках чего бы еще заскинить обнаружил плагин для AIDA64... Но к сожалению он у меня почему то не заработал... однако в настройках AIDA была обнаружена интересная опция - "Разрешить запись показаний датчиков в реестр". Краткое изучение Helpа показало что все датчики при включении этой опции отображаются в реестре. А Rainmeter их может оттуда считать... Так появляется вариант скина для AIDA64...



и идея о том что бы сделать скин который будет подхватывать на лету данные от запущенных программ мониторинга... которая была реализована в процессе написания статьи, и стала окончательным вариантом моего гаджета. О нем и пойдет речь.

Инсталяция Rainmeter и гаджета

Для начала вам необходимо установить сам Rainmeter, скачать его можно тут, либо по ссылке в конце статьи. Далее необходимо установить сам гаджет, и провести его настройки. Для установки гаджета просто щелкните по нем мышкой. Для включения гаджета щелкните правой кнопкой по значку rainmeter в трее, далее войдите в "Скины->OverClock" и выберете файл MULTIbig.ini. Гаджет появится на рабочем столе - перенесите его в то место на котором он будет находится. Теперь щелкните на гаджете правой кнопкой мыши, зайдите в "Настройки" и уберите галочку "Подвижность", а также включите галочки "Оставаться на экране" и "Сохранять позицию". Теперь ваш гаджет зафиксирован в том положении в котором вы его оставили и не будет перетаскиваться мышью. Далее настройте положение на рабочем столе - "Настройки->Позиция" и установите галочку "На рабочем столе". Теперь гаджет всегда будет находится под открытыми окнами.
В меню OverClock можно выбрать еще несколько гаджетов - все это версии появившиеся в процессе написания конечного варианта.

Описание и настройка Гаджета


На скрине выше приведено краткое описание назначения кнопок и варианты внешнего вида гаджета в разных режимах отображения. На данный момент таких режима три - AIDA, OpenHardwareMonitor и Core temp. При запуске любой программы из списка ее данные отобразятся на панели гаджета, а кнопка будет слегка подсвечена. Если запущено несколько поддерживаемых программ мониторинга - отобразятся данные той которая запущена последней. При этом между показаниями можно переключится нажав кнопку запуска программы. Кнопка снятия скриншота захватывает изображение рабочего стола и сохраняет его на рабочий стол с именем вида "scr10_31_2011-00_19_51.png". Если у вас два монитора будут сохранен скрин обоих в одном файле... Кнопку сокрытия иконок комментировать не нужно - с ней и так все понятно. Теперь остановимся на настройках самих программ мониторинга. Для считывания данных из Core Temp никаких особых настроек не требуется, его нужно просто запустить. Для AIDA64 необходимо включить опцию "Разрешить запись показаний датчиков в реестр" (Настройки->Внешние приложения):
 


 
Для Open Hardware Monitor необходимо зайти в меню настроек гаджета и прописать названия процессора, чипа, видеокарты, а также названия датчиков температуры материнской платы и северного моста из OHM в соответствующие поля настроек:



После ввода каждого параметра необходимо нажать кнопку Set. В этом же меню настроек необходимо ввести все пути к приложениям. По умолчанию стоят стандартные пути расположения для Windows 7 64, если у вас расположения программ мониторинга отличаются -пути необходимо скорректировать. Тут же, в меню настроек можно изменить шрифт, его цвет и стиль, цвет индикаторов и прозрачность панели.
Теперь немного о глюках. При первом запуске OHM у вас скорее всего вылезет с десяток окон Rainmeter о несуществующих датчиках - в этом случае окна надо закрыть и провести настройку OHM как описано выше. Это издержки бэта версии плагина и я их пока самостоятельно исправить не могу. Кроме того плагин OHM приводит к вываливанию Rainmeter на виртуальных машинах... Желающие скорректировать плагин могут почитать о нем и скачать исходники тут. Необходимо чтобы в случае отсутствия датчика он возвращал 0, а не вызывал ошибку.

Как это все работает ?

Ну а теперь более подробно о нюансах реализации скинов - ведь материал писался не только для описание моих гаджетов, но и для ознакомления читателя с азами написанием скинов в Rainmeter - возможно кто то захочет что то изменить "под себя", или добавить упущенный мной функционал. Ниже приведено несколько примеров с комментариями...
Как писалось выше скин (гаджет) в rainmeter - это ini файл с описанием датчиков и индикаторов. В начале файла находится несколько секций с описаниями:

[Rainmeter]
Update=1000 ; частота обновления датчиков и индикаторов в миллисекундах
Author=alex1974 aka lexover ; автор
AppVersion=0.3 ; версия

[Metadata]
Name= OverClock ; название скина
Config=
Description=Док для программ мониторинга.
Instructions=
Version= 0.3
Tags=
License=
Variant=
Preview=

[Variables] ; описание переменных
@include=/configure/Var.inc ; присоеденяем файл Var.inc. В Файле могут содержаться датчики, индикаторы, переменные.
UNAME=[MeasureUserName] ; объявлена переменная UNAME и ей присвоено значение датчика MeasureUserName.
...


Далее идет описание датчиков и индикаторов. Датчик может получать данные посредством обращений к реестру, к плагинам, к встроенным средствам rainmeter, с помощью вычисления значений формул из других датчиков. Например:

...
[MeasureRAM] ;описание датчика Measure ram
Measure=PhysicalMemory ; получаем данные из среды Rainmeter.
...

[MeasureVersion] ; датчик возвращает версию ОС полученную из реестра
Measure=Registry ; получаем данные из реестра
RegHKey=HKEY_LOCAL_MACHINE ; раздел
RegKey=SOFTWARE\Microsoft\Windows NT\CurrentVersion ; ветка раздела
RegValue=ProductName ; возвращаемый параметр, всегда текстовая строка.

...
[MeasureBits] ; датчик возвращает разрядность ОС полученную из стандартного плагина SysInfo.
Measure=Plugin
Plugin=Plugins\SysInfo.dll ; получаем данные из стандартного плагина rainmeter - sysinfo
SysInfoType=OS_BITS ; тип запрашиваемых данных плагина SysInfo.
...

[MeasureCore1Temp] ;датчик возвращает температуру первого ядра полученную из встроенного плагина Core Temp
Measure=Plugin
Plugin=Plugins\CoreTemp.dll ; получаем данные из стандартного плагина rainmeter - CoreTemp
CoreTempType=Temperature ; тип запрашиваемых данных - температуры
CoreTempIndex=0 ; номер температурного датчика.

[MeasureCore1MaxTemp] ; датчик вычисляет максимальную температуру
Measure=Calc ; тип датчика - формула
Formula=(MeasureCore1Temp > MeasureCore1MaxTemp) ? MeasureCore1Temp : MeasureCore1MaxTemp ; формула получения максимальной температуры - если MeasureCore1Temp больше MeasureCore1MaxTemp, то возвращается значение MeasureCore1Temp иначе MeasureCore1MaxTemp

Для вывода значений датчиков на экран существуют индикаторы. Индикатором считается любой видимый элемент на экране - изображение, текст, кнопка, etc. Для каждого индикатора можно задать действие производимое при наведении нажатии и отпускании мыши. Примеры:

...

[MeterBG] ; описание BackGraund image
Meter=IMAGE ; тип индикатора - изображение.
X=0 ; координата х в рабочей области скина.
Y=0 ; координата y в рабочей области скина.
ImageName=Sidebar.png ; путь к изображению. Если путь не указан изображение будет загружено из текущей папки скина.
ImageAlpha=100 ; прозрачность

...

[MeterHours] ; выводит на экран часы
MeasureName=MeasureHours ; источник данных - датчик [MeasureHours]
Meter=STRING ; тип индикатора - строка
X=33 ; координата х в рабочей области скина.
Y=32 ; координата y в рабочей области скина.
FontColor=255, 255, 255, 150 ; цвет шрифта
FontSize=20 ; размер шрифта
FontFace=#FONTNAME# ; название шрифта
StringAlign=LEFT ; выравнивание
StringStyle=#FONTSTYLES# ; стиль шрифта (bold, italic)
AntiAlias=1 ; сглаживание включено

...

[MeterCPU] ; индикатор общей загрузки процессора в %
MeasureName=MeasureCPU ; источник данных - датчик [MeasureCPU]
Meter=STRING ; тип индикатора - строка
X=3 ; координата х в рабочей области скина.
Y=100 ; координата y в рабочей области скина.
FontFace=#FONTNAME# ;название шрифта
FontSize=8 ; размер шрифта
FontColor=#FONTCOLOR# ; цвет шрифта
Text="CPU usage: %1%" ; текст выводимый на экран, %1 будет заменено на значение датчика [MeasureCPU]
StringAlign=left
StringStyle=#FONTSTYLES# ; стиль шрифта (bold, italic)
AntiAlias=1 ; сглаживание включено

...

[meterBarCPU] ; верхний индикатор общей загрузки процессора в вертикальном варианте скина.
Meter=BAR ; тип индикатора
MeasureName=MeasureCPU ; источник данных - датчик [MeasureCPU]
X=5 ; координата х в рабочей области скина.
Y=12r ; координата y в рабочей области скина.
W=123 ; длина
H=2 ; высота
BarColor=#BARCOLOR# ; цвет индикатора
BarOrientation=HORIZONTAL ; ориентация горизонтальная
SolidColor=255,255,255,30 ; цвет фона

...


Теперь немного о реализации кнопок вызова приложений. В первую очередь остановимся на изображении кнопки - это файл jpg или png содержащий три изображения - в неактивном состоянии, при наведении и при нажатии. Выглядит это так:





[MeterLinx] ; индикатор - кнопка запуска Linx
Meter=Button ; тип индикатора - кнопка
X=137 ; координата х в рабочей области скина.
Y=88 ; координата y в рабочей области скина.
ButtonImage=#CURRENTPATH#linx.png ; изображение кнопки в рабочей папке скина
LeftMouseUpAction=!Execute ["#CURRENTPATH#Run.exe" "#LINX_PATH#"] ; Run.exe (скомпилированный скрипт AutoIt)- команда исполняемая при нажатии на кнопку, с параметром #LINX_PATH# (Путь к LinX). В принципе linx можно запустить и на прямую - !Execute ["#LINX_PATH#"], но тогда при нажатии на кнопку будет запускаться новая копия LinX. Команда Run.exe в случае если LinX запущен просто выведет окно на экран если он свернут или свернет если окно активно, либо запустит - если LinX не запущен.

[MeterScreenshot] ; кнопка снятия скриншота
Meter=Button ; тип индикатора - кнопка
X=137 ; координата х в рабочей области скина.
Y=30r ; координата y относительно позиции последнего индикатора.
ButtonImage=#CURRENTPATH#sc.png
LeftMouseUpAction=!Execute ["#CURRENTPATH#nircmd.exe" "savescreenshotfull" "C:\Users\#UNAME#\Desktop\scr~$currdate.MM_dd_yyyy$-~$currtime.HH_mm_ss$.png"] ; nircmd - утилита для снятия скриншота рабочего стола, подробнее читайте тут. Скриншот сохраняется на рабочий стол.
Надеюсь прокомментированный выше код скина дает некоторое представление о принципах построения гаджетов в Rainmeter и поможет всем желающим скорректировать мои гаджеты под себя. Конечно пояснения выше далеко не исчерпывающие и дают только общее представление о скинах в Rainmeter. Более подробно о синтаксисе скинов в Rainmeter можно прочесть тут. Несколько слов о меню настроек. Оно реализовано через скрипт AutoIt, не компилированный скрипт лежит в папке config директории скина.

Послесловие

Данный гаджет не является законченным продуктом, скорее это мой взгляд на то как должны отображаться данные мониторинга системы на экране. Ведь гораздо удобнее когда все данные видны на рабочем столе и для их просмотра не нужно никуда заходить. Теперь я запускаю AIDA64 в свернутом виде - все необходимое от нее видно в гаджете, и нет необходимости в том чтобы заходить в подразделы. Каждый желающий может изменить гаджет в соответствии со своими вкусами, полностью сменить оформление и т.п. Текущее графическое оформление было сделано на скорую руку поэтому не судите строго, просто в статье я хотел привлечь внимание к Rainmeter, уж очень он гибко настраивается. Возможно кому то из местных программистов идея покажется интересной и он реализует самостоятельный гаджет с захватом инфы от популярных программ мониторинга. Ну или хотя бы пару плагинов для Rainmeter напишет

Rainmeter 2.2. r1008 beta - последняя версия Rainmeter, русифицированная.
Overclock it!!!.rmskin - собственно мой гаджет.
Open Hardware Monitor 0.3.2. beta
Небольшая коллекция тем для Rainmeter - Rain2, Pog, MassEffect2, gnometer, Enigma 3.1, Cobolt 2.2., ABP1.2... Для ознакомления и понимания что можно сделать в среде Rainmeter. Ниже несколько скриншотов тем для Rainmeter:








ЗЫ: В процессе написания статьи гаджет несколько изменился Чуть позже будет представлена новая версия.
Обсуждаем тут.
Категория: Сделай Сам | Добавил: lexover (04.11.2011)
Просмотров: 3296 | Комментарии: 1 | Рейтинг: 5.0/8
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Вход на сайт
Услуги
[11.11.2017]
Замена стекла iPhone 7, 7+, 6s, 6s+, 6, 6+, OCA, Glass on Fr... 
[18.07.2015]
Ремонт iPhone любой сложности в Николаеве и по всей Украине 
[21.04.2015]
Ремонт ноутбуков в Николаеве любой сложности 
[21.04.2015]
Ремонт Видеокарт и Материнских плат любой сложности 
[14.12.2014]
Ремонт смартфонов в Николаеве ! 
[07.12.2014]
Замена сенсора (сенсорного стекла, тачскрина) на смартфонах ... 
[09.01.2014]
Замена стекла iPhone 4, 4s, 5, 5s, 6, 6+, 6s, 6s+, 7, 7+, 8,... 
[03.01.2014]
Замена стекла iPhone 6 в Украине 
[02.01.2014]
Замена стекла Samsung Galaxy S5 G900H. Ремонт Samsung Galaxy... 
[31.12.2013]
Замена корпуса Samsung Galaxy S3, S4 в Николаеве. Замена дис... 
Ликбез
[02.09.2015]
Ликбез: Замена стекол на смартфонах с помощью клея LOCA или OCA пленок. FAQ для клиента.
[20.10.2011]
Ликбез: Процессоры intel - глобальный FAQ
[04.01.2011]
FAQ Intel Core i3/i5/i7 "Sandy Bridge"
[30.11.2010]
Ликбез: Tcase процессоров Intel
[23.08.2009]
Моды для включения SLI, на не поддерживающих эту технологию матерях и чипсетах
[31.12.2008]
DFI Lanparty LT x38 T2R: БИОС и POST коды
[16.11.2008]
FAQ Процессоры Intel семейства Core i7 микроархитектура Nehalem.
[24.03.2007]
Особенности ASUS P5W DH Deluxe
Сделай Сам
[03.12.2016]
Xiaomi Yi Action Camera как видеоокуляр для микроскопа МБС 10
[15.06.2016]
Хочешь сделать хорошо - сделай сам. Полуавтоматическое устройство для приклеивания рамки iPhone AS-654 - обзор и модернизация.
[28.04.2016]
Хочешь сделать хорошо - сделай сам. Установка вакуумного стола на полуавтоматический сепаратор дисплейных модулей.
[23.04.2016]
Китайский вакуумный сепаратор AIDA 666 изнутри. Самодельщикам посвящается. Фотосессия без коментариев.
[21.10.2015]
Хочешь сделать хорошо - сделай сам. Обзор и модернизация ламинатора для OCA пленок и поляризаторов.
[04.10.2015]
Хочешь сделать хорошо, сделай сам. Эволюция моего оборудования для восстановления дисплейных модулей.
[01.10.2015]
Обзор пресса-барокамеры для склеивания дисплейных модулей с помощью OCA пленок Украинского производства.
[06.08.2014]
Операторские дэвайсы: LexROM 2.3 S5 KitKat для Samsung Galaxy S4 i545; i337; m919; l720
[06.07.2014]
Операторские дэвайсы: LexROM 2.2 KitKat (XXUGNF1) для Samsung Galaxy i545
[26.06.2014]
Операторские девайсы: Русский KitKat 4.4.2 для Samsung Galaxy S4 i545
Соцсети