Поиск:

Ответ в темуСоздание новой темы Создание опроса
> список окон 
:(
    Опции темы
artsb
  Дата 6.10.2007, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Хочу попробовать сделать программу, с помощью которой можно будет сделать с окном всё, что угодно (свернуть, развернуть, закрыть, изменить размер).  На форме есть кнопки для управления окнами и КомбоБокс. Так вот нужно запехнуть в КомбоБокс заголовки окон и при выборе определённого заголовка, получить доступ к этому окну и упралять им.
Помогите плиз.
Спс.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Ockonal
Дата 6.10.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Smile
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 9.7.2007
Где: Ukraine::Nikolaev ;

Репутация: нет
Всего: 3



Попробуй поставить хук: WH_CBT
Вызывается системой, при открытии/активизации окна.
Может чем-нить поможет в занесении имени окна в список...

Добавлено через 5 минут и 30 секунд
Да... Ещё для сворачивания(...) попробуй посылать окнам сообщения.
Сам новичок... поэтому не знаю, правильно ли говорю
--------------------
Ум заключается не только в знании, но и в умении прилагать знание на деле.Самое лучшее из всех доказательств есть опыт.Каждому человеку свойственно ошибаться, но никому, кроме глупца, несвойственно упорствовать в ошибке.
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
artsb
Дата 6.10.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



По-моему тут можно как-то сделать поиск по окнам, найти их хэндлы и в цикле получать названия окон. Но как это сделать?

Может кто знает?



P.S. Я знаю, что тут многие знают как это сделать, просто никто не хочет помогать НАЧИНАЮЩЕМУ!


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
volvo877
Дата 6.10.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



artsb, ты бы поиском пользовался, или хотя бы внизу страницы ссылки просмотрел и прошелся по ним... Не всегда в теме содержится ТОЛЬКО то, что написано в ее названии...

Например, здесь:
Список всех процессов в ListBox1
PM MAIL   Вверх
artsb
Дата 7.10.2007, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



volvo877 спасибо.
Но мне нужны нетолько окна приложений, но также окна папок, которые не отображаются в процессах.
Так как это сделать?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
artsb
Дата 8.10.2007, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Народ ну подскажите плиз, как получить список окон на раб. столе (не список процессов).

Например, на раб. столе окна от: Мои документы, Мой компьютер, Корзина, Paint, Сапёр и т.д. Как получить список этих окон, чтобы ими потом можно было управлять?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Ockonal
Дата 8.10.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Smile
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 9.7.2007
Где: Ukraine::Nikolaev ;

Репутация: нет
Всего: 3



Я тебя понял. Тоесть тебе нужен доступ к окнам, которые отображаются возле панели "Пуск"?
Если да - погодь немного. Делал уже такое smile.
--------------------
Ум заключается не только в знании, но и в умении прилагать знание на деле.Самое лучшее из всех доказательств есть опыт.Каждому человеку свойственно ошибаться, но никому, кроме глупца, несвойственно упорствовать в ошибке.
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
artsb
Дата 9.10.2007, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Ockonal ты правильно понял. Но не только те окна которые отображаются на панели задач, ведь некоторые проги прячут кнопку. Я имею ввиду все окна которые на раб. столе, ну и те, которые свёрнуты в кнопку.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
artsb
Дата 10.10.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Ockonal жду пример......  smile 


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
volvo877
Дата 10.10.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Так пойдет?

Код

static BOOL FAR PASCAL EnumWindowsProc(HWND wnd, LPARAM LParam) {
    char wn[MAX_PATH];

    if(IsWindowVisible(wnd) &&
       !GetParent(wnd) &&
       !GetWindow(wnd,GW_OWNER))
    {
        GetWindowText(wnd,wn,MAX_PATH);
        Form1->Memo1->Lines->Add(wn);
    }
    return true;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    EnumWindows((int (__stdcall *)())EnumWindowsProc, 0);
}
(на форме - Button + Memo)
PM MAIL   Вверх
artsb
Дата 11.10.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



volvo877 СПАСИБО! Супер, то что надо! smile  smile 

Не мог бы ты теперь расписать, что тут происходит. (желательно подпись к каждойстрочке функции, начиная с заголовка).
Спс.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
volvo877
Дата 12.10.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Цитата(artsb @  11.10.2007,  20:03 Найти цитируемый пост)
желательно подпись к каждойстрочке функции

А что, MSDN уже не обязательно читать? Все функции оттуда: IsWindowVisible / GetParent / GetWindow / GetWindowText / EnumWindows
PM MAIL   Вверх
artsb
Дата 12.10.2007, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



volvo877,  просто я думал, что тебе нетяжело. Но, раз такое дело, придётся переводить msdn.
Но всёравно спасибо.

Это сообщение отредактировал(а) artsb - 12.10.2007, 18:48


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0890 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.