По поиску ответа не нашел. Это нормально, что у одного и того же элемента может быть разный handle (например, кнопки Пуск)? Хочу сделать штуку, которая, например, при наведении на кнопку Пуск запускала скринсейвер. Но получается что на каждом компе кнопка Пуск, а равно любой другой элемент имеют свой handle. Что делать? Может, есть другой способ получить имя элемента под курсором и по условию сделать действие?
Этот топик читают: Гость
Ответов: 3
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 205
Рейтинг: 44
|
|||
карма: 0 |
| ||
файлы: 1 | code_14870.txt [1.5KB] [198] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
serenitatis писал(а): Это нормально, что у одного и того же элемента может быть разный handle (например, кнопки Пуск)?да serenitatis писал(а): Что делать? искать окно по названию и имени класса |
|||
карма: 27 |
|
Ответов: 3
Рейтинг: 0
|
|||
Спасибо за ответы. Я решил решать это дело с помощью координат
|
|||
карма: 0 |
|
Ответов: 2271
Рейтинг: 677
|
|||
serenitatis, не у всех кнопка пуск в нижнем левом углу.
|
|||
карма: 11 |
|
Ответов: 3
Рейтинг: 0
|
|||
Теперь речь идет просто об углу экрана, без привязки к чему-либо.
|
|||
карма: 0 |
|
Ответов: 1397
Рейтинг: 50
|
|||
А не проще найти окно "Пуск"? Как писал Dilma
|
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Валерий писал(а): А не проще найти окно "Пуск"?Как-то, вот так. Пример показывает нажатие клавиши Enter на Меню Пуск, и не важно, как оно будет называться
А вот иммитация нажатия ЛКМ на Меню Пуск
|
|||
карма: 22 |
|
Ответов: 1291
Рейтинг: 47
|
|||
карма: 3 |
| ||
файлы: 1 | code_31987.txt [1.5KB] [323] |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Aziz писал(а): не заработал ваш вариантЭто под XP было ------------ Дoбавленo в 16.33: Вот так будет работать под Win7
|
|||
карма: 22 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Действительно работает, спасибо. Может еще подскажите, как определить что мышь находится над попап-окном пускового меню, не прибегая к названиям, которые в разной локализации могут отличаться? Нужно для моей проги которая постоянно себя поверх всех окон помещает, что мешает всплытию меню пуск. Надо соответственно определить что под мышью меню пуска и отключить попап.
------------ Дoбавленo в 21.18: Я полагаю, нужно будет определить хендл трея и всех его потомков, после чего проверять хендл под курсором на предмет совпадения с потомками? |
|||
карма: 3 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Aziz писал(а): Надо соответственно определить что под мышью меню пуска и отключить попап.На тебе прогу WinInfo, она поможет тебе найти нужный класс -- wininfo_1011.sha Можешь использовать оттуда перехватчик движения мыша |
|||
карма: 22 |
| ||
файлы: 1 | wininfo_1011.sha [4.6KB] [414] | ||
Голосовали: | foksov |
Ответов: 1376
Рейтинг: 197
|
|||
nesco, +2 позже, суточный лимит исчерпан
nesco писал(а): перехватчик движения мыша |
|||
карма: 1 |
|
Ответов: 1291
Рейтинг: 47
|
|||
nesco, спасибо.. У меня лимит + тоже исчерпан..
------------ Дoбавленo в 22.56: Интересно, класс SysListView32 встречается только в меню старт? Если не только, то сложно будет идентифицировать.. |
|||
карма: 3 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
foksov писал(а): Нельзя ли его встроить в MouseEvent?Есть отдельный такой компонент, но он не штатный -- gmousehook_102.zip |
|||
карма: 22 |
| ||
файлы: 1 | gmousehook_102.zip [1.7KB] [237] | ||
Голосовали: | foksov |