![]() |
|
![]() ![]() ![]() |
|
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Не помогло :( Кстати, а зачем при подключении некоторых библиотек нужно вставлять такие конструкции? Значит, я указываю окно, а скрывается кнопка окна? Так? А что делать если на экране отображается не главное окно, а дочернее (похоже в моём случае именно так, т.к. некоторые другие окна скрываются вместе с кнопками). -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
586 |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Значит не там написал.
А ещё лучше по всему проекту определи эту дерективу: Project -> Options-> Directories/Conditionals -> Conditionals -> "_DEBUG;NO_WIN32_LEAN_AND_MEAN"
Конфликт с VCL. На Visual С++ всё без этого идёт.
Передавай то окно, которое привязано к панели задач (Application->Handle). (???) |
||||||
|
|||||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Действительно. Проверил. Нужно ставить до #include <vcl.h> Спасибо. Я проверяю работу своей программы на Extract Icon Tool. Окно этой программы имеет заголовок "Extract Icon Tool v1.80", а на кнопке написано "Extract Icon Tool". Применил приведённый вами код. Окно программы скрылось, а кнопка нет. А вот после того как отобразил окно появилась ещё одна кнопка с таким же названием как и заголовок окна! Что ещё можно сделать, чтобы скрыть кнопку? Нельзя ли сделать поиск кнопки по названию и применить к ней ShowWindow? У меня не получается найти хэндл кнопки.
Не понял. Я говорю про чужие окна. Как я узнаю их Application->Handle? Это сообщение отредактировал(а) artsb - 11.5.2008, 19:14 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Попробовал так:
Но сообщения "Button" не появляется. Как получить доступ к кнопке? Добавлено через 14 минут и 46 секунд Сделал следующее: Скачал программу InqSoft Window Scaner. После её запуска, в качестве окна указал "ToolbarWindow32". Нажал в окне программы "Инструменты"->"Сканер toolbar'ов".Открылось дополнительное окно. Там нажал "Просканировать Toolbar". Программа показала список всех кнопок! Более того, можно управлять состоянием этих кнопок! Как она это делает? ![]() Если нажать на кнопку со стрелачками напротив выделенной надписи, кнопка прячется и отображается. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
deleted
Это сообщение отредактировал(а) 586 - 11.5.2008, 22:18 |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
не понял.
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Почитай в MSDN про изменение состояний toolbar-кнопок (TB_GETBUTTONINFO / TB_SETBUTTONINFO). Т.к. будет передаваться структура, это придётся делать к контексте процесса explorer.exe (через dll или VirtualAllocEx).
|
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Ого, что-то сложно ты написал. Для меня это тяжело. Можешь как-нибудь попроще объяснить на каком-нибудь примере. Тем более, сначала надо получить доступ к кнопке. Как это сделать?
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Дело в том, что при работе с common-контролами (ListView, TreeView, TabCtrl, Toolbar и др.) используется структура. Т.к. адрес структуры недействителен в другом процессе, структура должна принадлежать к адресному пространству процесса. По идее, это должно применяться ко всем контролам (Button, Static и др.), но MS это оставил для совместимости с Win16, а вот common-контролы изменять не стал.
Это сообщение отредактировал(а) 586 - 12.5.2008, 23:59 |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
586, спасибо. А где здесь скрыть/показать кнопку?
Это сообщение отредактировал(а) artsb - 13.5.2008, 16:30 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Всё намного проще:
Добавлено через 10 минут и 9 секунд А вот для TB_GETBUTTONTEXT придётся выделять память. |
|||
|
||||
artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
586, спасибо. Приведённый вами код работает. Только вот не устраивает то, что нужно обращаться по индексу кнопки (есть ведь скрытые кнопки, которые трогать не нужно, а они отображаются
![]() Попробовал искать по надписи:
Но в сообщении три закорючки и всё. Что я не так делаю? Вроде всё по справке:
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
В процессе нужно выделять память.
Это сообщение отредактировал(а) 586 - 15.5.2008, 22:39 |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Работает!
586, респект вам. И ещё раз спасибо. Где вы берёте эту информацию? Как её ищете? Если не секрет. ЗЫ извиняюсь за офтоп. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |