Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ilya Гость
|
Добавлено: Пн Фев 18 2002 16:07 Заголовок сообщения: Для Уважаемого 'ЯЯЯ' |
|
|
Вы в ответе на мой вопрос про ТАСКБАР привели код в котором я не сумел разобраться. Если можно свяжитес со мной по e-mail. Заранее благодарен. |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Вт Фев 19 2002 09:07 Заголовок сообщения: не пойму, о чем это? или тут кто-то еще такой появился? (+) |
|
|
ссылку в тело поста бы вставил, или время и дату поста написал, чтоб было ясно, о чем речь. |
|
Вернуться к началу |
|
|
ilya Гость
|
Добавлено: Вт Фев 19 2002 11:31 Заголовок сообщения: Это про ТАСКБАР(как поднять аппл....) |
|
|
Мне нужно програмно 'кликнуть' правой мышкой и поднять аппликацию находящуюся в правой части ТАСКБАРа - (не поднятые аппликации)например - изменение в Volume и т.п. |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Вт Фев 19 2002 15:10 Заголовок сообщения: ну давай сначала, только тут, а не мылом (+) |
|
|
Я хоть и не писал ничего такого, видать, ты перепутал что-то, но помогу. Вопрос 1. Тебе надо изменить грамкость, или действительно то, что написал? Если надо уметь программно менять громкость, то это через одно место, можешь дальше не читать, а создать новую тему. Видимо, таки надо уметь кликать мышкой в нужном месте. Поэтому 1) надо понять, где тыкнуть (поиметь координаты, хэндл окна). 2) послать сообщения. для клика - WM_LBUTTONDOWN и WM_LBUTTONUP. Никаких там WM_COMMAND, что было в посте на эту тему, разумеется, не надо. Если надо инициировать правый клик - L меняешь на R. для двойного клика к уже упомянутой последовательности добавляешь WM_LBUTTONDBLCLK (по-моему так пишется) и WM_LBUTTONUP. Для правой кнопки тоже ясно, что поменять. Как найти координаты - это был 1-й вопрос. Ищем окно панели задач. Посмотри каким-нибудь Spy-ем, какой у этого окна класс и заголовок, и через FindWindow его найдешь. Там, насколько я помню, заголовка нет, а класс - Shell_TrayWnd (но лучше посмотри, не помню я точно). Имя этого класса на всех виндах одинаковое. Далее ищешь трей, через FindWindowEx, например. А вот как окно с треем идентифицировать - нифига не скажу, посмотри сам тоже по имени класса, или по стилю. Далее внутри трея перечисляешь аналогично окна, а может там и не окна, хрен его знает, дальше я не копался ни разу. Но, по идее, можно попробовать идентифицировать по всплывающей подсказке. А поимев окно, берешь любую точку внутри него (для надежности можешь туды мышь подвинуть), и шлешь ему тот самый ряд сообщений. Если не получится и сам не разберешься - пиши. |
|
Вернуться к началу |
|
|
ilya Гость
|
Добавлено: Вт Фев 19 2002 18:32 Заголовок сообщения: пока не получилось |
|
|
Под Shell_TrayWnd Находится окно класса TrayNotifyWnd-это неверное нужное но как дальше выкрвырять аппликацию.....? (большое спасибо за помощь) |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Вт Фев 19 2002 19:30 Заголовок сообщения: до какого окна дошел? (+) |
|
|
получил хэндл самого трея, или только панели задач? |
|
Вернуться к началу |
|
|
ilya Гость
|
Добавлено: Вт Фев 19 2002 19:39 Заголовок сообщения: Re: до какого окна дошел? (+) |
|
|
CString lpClassName="Shell_TrayWnd";
hW=::FindWindow(LPCTSTR(lpClassName),.. hWi=::FindWindowEx(hW,hWi,NULL,NULL); if(hWi) { GetClassNa.. ::GetClassInfo(NULL,Name,&mI); }
Получил handler окна класса Shell_TrayWnd и после этого handler окна класса TrayNotifyWnd |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Ср Фев 20 2002 08:04 Заголовок сообщения: то есть (+) |
|
|
я так понял, ты поимелхэндл окна самого трея. в нем, я так понял, окон дочерних нет? так? |
|
Вернуться к началу |
|
|
ilya Гость
|
Добавлено: Ср Фев 20 2002 11:05 Заголовок сообщения: только одно |
|
|
Есть только одно : класса TrayClockWClass. Я думаю что это часы. А остальных нема... Хотя у меня конечно на РС подняты ещё: Антивирус там и ещё пару аппликаций(ATI,Real Player и т.д.) |
|
Вернуться к началу |
|
|
|