Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2005-09-22

Re[3]: Список окон.

Здравствуйте !

> Похоже, что дочерей у таскбара вообще нет, кнопок тоже. Получается,
> что вопрос в том, какими элементами таскбар делает отображение окон.
> Может есть у кого какие идеи?

Почему же нет ?
Кнопка "пуск" - дочернее окно таскбара.
Рядом с "пуск" лежат трей и ребар (окно класса ReBarWindow32).
На ReBar-е находятся панельки. Каждая панель может представлять
что угодно. Можно написать свой Desk Band для таскбара и будет
там Ваша панелька. Так вот, конкретно панелька, на которой
располагаются кнопки с именами приложений - обычный тулбар.
Все это для XP.

В 95-х виндах никаких панелек, вроде, не было. Что там за контрол
торчит в таскбаре точно не скажу. Может, тот же тулбар,
может - Tab Control (просто меня терзают смутные воспоминания, что
я как то смотрел это дело в 95-х виндах и там был не тулбар).

   2005-09-22 21:34:39 (#441801)

Re[2]: Список окон.

Добрый день,

Шматко> На основной вопрос точного ответа не дам, но ИМХО одно из двух: либо
Шматко> кнопки ни фига не отдельные окна, либо "дочерность" у них вложенная.

Похоже, что дочерей у таскбара вообще нет, кнопок тоже. Получается,
что вопрос в том, какими элементами таскбар делает отображение окон.
Может есть у кого какие идеи?

Шматко> На попутные вопросы: имя класса окна получается фунцией GetClassName(),
Шматко> сопутствующие функции GetClassInfo() и GetClassInfoEx(). Оттуда же и
иконку
Шматко> можно получить.

Спасибо большое. Вроде еще GetClassLong помочь может.

   2005-09-22 20:51:36 (#441784)

Re[2]: Звук при focus() в javascript

Здравствуйте, Александр.

Вы писали 19 сентября 2005 г., 0:18:59:

АТ> Хаю ду ю ду Вениамин aka Origami?

АТ> Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
АТ> тоже что-нибудь напечатаю:

ВaO>> function focusNext(form,elemName,evt)
ВaO>> { //alert(elemName);
ВaO>> evt=(evt)? evt: event;
ВaO>> var charCode=(evt.charCode) ? evtcharCode :
ВaO>> ((evt.which) ? evt.which : evt.keyCode);
ВaO>> if (charCode==13)

АТ> В общем я не знаю как это сделать в java, но смысл в следующем -
АТ> evt.charCode := 0
АТ> т.е. присвоить переменной из которой берешь значение клавиши - ноль.
АТ> В Delphi помогает, похоже windows просто сигнализирует что в данном
АТ> поле return нажимать бесполезно, а присваиванием нуля мы прячем от
АТ> windows нажатие return.

Спасибо, Алексей! Это действительно работает.

   2005-09-22 20:50:57 (#441783)

Re: Список окон.

Хаю ду ю ду Алексей?

Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
тоже что-нибудь напечатаю:

А> Как можно получить список окон, которые отображаются на таскбаре.
А> Список процессов получить могу, но как из них выделить нужные не знаю.
А> Пробовал сделать EnumChildWindows у таскбара, но такой фокус не
А> прошел.
А> Попутные вопросы, можно ли зная HWND окна узнать его класс и получить
А> иконку этого окна.

Сразу скажу - не знаю, не пробовал, но попробую натолкнуть - в Delphi
ShowWindow(Form.Handle, SW_HIDE); скрывает окно,
а ShowWindow(Application.Handle, SW_HIDE); - кнопку на таскбаре, т.е.
если главное окно программы не скрыто - значит кнопка должна быть, но
я вот не помню точно - нет ли како-го нибудь стиля окна что-бы оно
было не скрытым, а кнопки не было. И еще - для дочерних окон тоже
можно добавлять кнопки:
SetWindowLong(Handle, GWL_EXSTYLE,GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);

   2005-09-22 20:09:34 (#441743)

Re: Список окон.

Hello Алексей,

Wednesday, September 21, 2005, 12:58:56 PM, you wrote:

А> Добрый день.
А> Как можно получить список окон, которые отображаются на таскбаре.
А> Список процессов получить могу, но как из них выделить нужные не знаю.
А> Пробовал сделать EnumChildWindows у таскбара, но такой фокус не
А> прошел.
А> Попутные вопросы, можно ли зная HWND окна узнать его класс и получить
А> иконку этого окна.
А> Всем заранее спасибо.

GetDesktopWindow(), GetWindow(hwnd, GW_CHILD);
более подробно http://www.firststeps.ru/ раздел VisualC/WinAPI/шаг 1

   2005-09-22 18:47:13 (#441698)

Re: Список окон.

> Как можно получить список окон, которые отображаются на таскбаре.
> Список процессов получить могу, но как из них выделить нужные не знаю.
> Пробовал сделать EnumChildWindows у таскбара, но такой фокус не
> прошел.
> Попутные вопросы, можно ли зная HWND окна узнать его класс и получить
> иконку этого окна.

На основной вопрос точного ответа не дам, но ИМХО одно из двух: либо
кнопки ни фига не отдельные окна, либо "дочерность" у них вложенная.
На попутные вопросы: имя класса окна получается фунцией GetClassName(),
сопутствующие функции GetClassInfo() и GetClassInfoEx(). Оттуда же и иконку
можно получить.

--
С уважением, boroda

Номер выпуска : 4923
Возраст листа : 732 (дней)
Количество подписчиков : 536
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/441471
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   Шматко А.А. 2005-09-22 10:22:11 (#441471)