Skip to content

Thermaltake DPS G App - сворачивание в трей при автозапуске

Посчастливилось стать обладателем "умного" блока питания THERMALTAKE SMART DPS SPG-0750DPCG. В блок питания встроен чип мониторинга, который позволяет получать следующие данные: напряжение и ток по каждой из линий (3.3V, 5V, 12V), выходную мощность, коэффициент эффективности, температуру и скорость вентилятора. Идея хорошая, но как всегда подкачало прилагающееся к хорошему железу убогое поделие китайских программистов.

Опустим общую кривость программы, данная заметка не об этом. Есть один очень раздражающий момент. Thermaltake DPS G App в 3 мажорной версии до сих пор не умеет такую простую вещь, как сворачиваться в трей при автозапуске. В итоге при каждом запуске Windows окно программы красуется по центру экрана и его приходится вручную закрывать.

Для решения данной проблемы был составлен небольшой скрипт на AutoIt. Дело немного осложнилось тем, что приложение написано на Qt, из-за чего пришлось применить банальную эмуляцию клика мышкой. Но к счастью, здесь на руку играет то, что китайские программисты зачем-то сделали окно программы фиксированного размера.

#include <AutoItConstants.au3>
Opt("TrayIconHide", 1)
Opt("WinTitleMatchMode", 3)
Local $hWnd = WinWait("[TITLE:ThermaltakeDPSPOWER;CLASS:Qt5QWindowIcon]", "", 20)
If Not $hWnd Then Exit
WinActivate($hWnd)
If Not WinActive($hWnd) Then Exit
Local $aPos = MouseGetPos()
Opt("MouseCoordMode", 0)
MouseClick($MOUSE_CLICK_PRIMARY, 981, 21, 1, 0)
Opt("MouseCoordMode", 1)
MouseMove($aPos[0], $aPos[1], 0)

Достаточно добавить его в автозапуск и проблема решена.

Скрипт в виде файла: ttdpsgapptotray.au3

Скомпилированный бинарник: ttdpsgapptotray.exe