Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2010, 15:57   #1
daruwanov
Пользователь
 
Регистрация: 31.08.2010
Сообщений: 11
Вопрос SPY++ и Дискриптор

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

HWND h1 = FindWindow(TEXT("CalcFrame"), TEXT("Калькулятор"));

Тут все норм - открыли Spy++ получили значения класса и заголовка вбили в код, и потом

SetWindowText(h1,L"Новое имя калькулятора");

тут все работает норм..

но решил изменить надписи на кнопках и тут попал в залет
1) такк же запустил Spy++
2) Класс в принципе у всех кнопок один и тот же это логично(Button), а вот заголовок окна там не прописывается...тоесть выхватить дискриптор я не могу...(Стоит Винда 7(в икпи заголовки есть))Хитро))
пытался взять сразу дискриптор через спай++

присвоил его и вбил - надпись то изменилась - но дискриптор меняется при каждом запуске )) так это вот так вот..

можно ли как то его получать еще???
daruwanov вне форума Ответить с цитированием
Старый 01.09.2010, 17:07   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

FindWindowEx для поиска дочерних окон.
их порядок обычно неизменный.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.09.2010, 17:54   #3
daruwanov
Пользователь
 
Регистрация: 31.08.2010
Сообщений: 11
По умолчанию

Так там тоже вроде требует задать заголовок - который отсутствует...
daruwanov вне форума Ответить с цитированием
Старый 01.09.2010, 17:59   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

заголовок не обязателен, слабо полностью прочитать описание функций?
если заголовок передан nil/NULL то будет искаться только по классу.
можно задать окно начиная с которого искать.

а вообще есть EnumChildWindows
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
icq spy komersss Работа с сетью в Delphi 6 16.08.2010 13:39
Дискриптор диалога _Dmitry_ Win Api 7 30.03.2010 01:08
Дискриптор диалога _Dmitry_ Помощь студентам 0 24.03.2010 16:07
Дискриптор обьекта из файла русурсов _Dmitry_ Win Api 2 21.03.2010 12:58