Что нового

Как изменить курсор в пользовательском приложении?

shm_alex

Новичок
Сообщения
34
Репутация
4
Здраствуйте.
Хочу чтобы мой скрипт
активизировал пользовательское окно
дальше перехватывал все нажатия пользователя по окну, а вместо этого при однократном нажатии левой кнопки мыши начинал выделять (Отображение выделения при помощи прямоугольника как например в Paint при выделении области ), при этом изменяя картинку курсора на мою или (стандартную для таких случаев)
при повторном нажатии кнопки мыши заканчивал выделение области.
Ну а с областью я там бы свои манипуляции провел картинку бы сохранил чек сумму у области посчитал. ну и т.д.
Вот не пойму как курсор изменить, и рисовать этот прямоугольничек выделения и блокировать нажатия мыши чтобы нажатия не приходились по пользовательскому окну (сообщения к окну не приходили)
jjj.bmp

Помогите разобраться , хоть где почитать про это .
То что нашёл
Функция
GUICtrlSetCursor - не подходит тк изменяет курсра только над компонентами созданными при помощи AutoIt GUI (как я понял)
_WinAPI_SetCursor($hCursor) вообще непонятно как работает, я так понял что этой функции нужен в качестве аргумента объект сгенерированный при помощи CreateCursor или LoadCursor
обёрток для этих функций в билиотеке я так понял нету.

Код:
#include <Misc.au3>

$dll = DllOpen("user32.dll")
WinActivate ("User application")

While 1
	Sleep ( 250 )
	If _IsPressed("01", $dll) Then
		;1)Вот здесь я хочу изменить курсор, запретить проходить нажатиям мыши в user application
		;2)начать рисовать этот прямоугольничек выделения
		;Ну и если нажатие второе 
		;3)сохранить принтскрин на диск, сохранить  координаты выделенной области , и PixelChecksum выделенной 
		;области
		;4)востановить курсор ,востановить активность пользовательского приложения
		Exit;закончить работу скрипта
	EndIf
WEnd
DllClose($dll)
Вот с 1 ,2,4 проблемы- не пойму где копать)
 
Верх