Скрыть курсор мыши в "другой" программе.
От: Fei  
Дата: 24.05.04 21:17
Оценка:
Есть программа, которая запускает windows explorer с флеш-клипом. Для того, чтобы клип постоянно проигрывался, в нём надо кликать мышкой. Я это делаю перемещая курсор SetCursorPos() и посылая сообщения WM_LBUTTONDOWN, WM_LBUTTONUP окну, над которым находится курсор. Всё прекрасно работает, но на экране постоянно пляшет этот самый курсор, что раздражает. Проблема, что все нормальные апишные функции SetCursor(), ShowCursor() действуют только на окно моей программы, а не на "чужое" окно explorer-а. Я частично решил проблему с помошью SetSystemCursor(), которая меняет глобальные стандартные курсоры, но так я избавился только от стандартной "стрелки" (хотя это и извращение), но флеш делает свой собственный курсор-"руку" (я проверил все стандартные — не помогло) когда курсор находится над местом, куда можно кликать, поэтому SetSystemCursor() бесполезен.

В MSDN-е вычитал: чтобы система автоматом не перерисовывала курсор окна при его перемещении, надо присвоить NULL курсору класса окна. Я попробовал это сделать SetClassLong(), но это не сработало — "Access denied.", что впрочем понятно т.к. окно "чужое". Выдрал из MSDN-а код создания атрибутов защиты SECURITY_ATTRIBUTES, которые подал в CreateProcess() запускающий explorer, но всё равно "Access denied." В этих секьюрити я правда не разобрался, такая муть....
Может есть способ совсем удалить курсор мыши с экрана, без разбора над каким он окном находится?
Помогите пожалуйста убить этот курсор, он у меня уже в печёнках сидит...
Re: Скрыть курсор мыши в "другой" программе.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 24.05.04 21:31
Оценка:
Здравствуйте, Fei, Вы писали:

А программу которая запускает флешик менять наверное нельзя? Печально.... Может перехватывать SetCursor?
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.