1 (изменено: Turambar, 2016-05-25 01:00:29)

Тема: Установка гаммы цветов через AHK

Здравствуйте.
Сразу к делу. Хотелось бы написать скрипт, который бы выполнял калибровку цветов Windows до заранее заданного значения (если вручную, то передвинуть ползунок в Пуск => Калибровка цветов монитора). Хотя AHK вроде бы и умеет работать с WinAPI, но я такой функции в самом api не нашёл. Быть может, кто-то уже сталкивался с такой задачей? В какую сторону стоит копать?

2 (изменено: Turambar, 2016-05-27 01:00:16)

Re: Установка гаммы цветов через AHK

Попытался сделать по старинке - путём клика по кнопкам в окне.

!1::
BlockInput, On
Run, %A_WinDir%\System32\dccw.exe
Sleep, 600
ControlClick, Button1, Калибровка цветов экрана
Sleep, 50
ControlClick, Button1, Калибровка цветов экрана
Sleep, 50
ControlClick, Button1, Калибровка цветов экрана
Sleep, 50
ControlGetPos, x, y, w, h, msctls_trackbar321, Калибровка цветов экрана ; узнаю координаты элемента окна
ControlClick, msctls_trackbar321, Калибровка цветов экрана,,,,D  ; зажимаю бегунок
CoordMode, Mouse, Screen
MouseMove, x, y  ; перетаскиваю бегунок
ControlClick, msctls_trackbar321, Калибровка цветов экрана,,,,U ; отпускаю бегунок
BlockInput, Off
Return

Описание кода: вызываю утилиту калибровки, кликаю по кнопкам до нужной страницы. Беру бегунок и перетаскиваю его вверх до максимума (до координаты верхнего угла окна, к примеру). Проблема возникает на стадии перетаскивания. Такое ощущение, что MouseMove попросту не работает. Бегунок устанавливается на тот уровень, где стоит в данный момент курсор мыши. Что можно предпринять?

3

Re: Установка гаммы цветов через AHK

Хотя AHK вроде бы и умеет работать с WinAPI, но я такой функции в самом api не нашёл

Ищите SetDeviceGammaRamp.