Russian Qt Forum
Ноябрь 22, 2024, 12:52
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Компиляторы и платформы
>
Windows
>
[РЕШЕНО] снять ограничение на размер чужого окна
Страниц: [
1
]
2
3
4
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [РЕШЕНО] снять ограничение на размер чужого окна (Прочитано 25597 раз)
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
[РЕШЕНО] снять ограничение на размер чужого окна
«
:
Май 24, 2013, 01:44 »
Здравствуйте. Есть окно чужого приложения, у которого жестко задан минимальный размер. Я хочу снять это ограничение из своего приложения. Насколько я понял, надо установить хук и перехватить WM_GETMINMAXINFO. Как это правильно сделать? Спасибо.
Решение тут (тестовый проект):
http://www.prog.org.ru/index.php?topic=24848.msg182586#msg182586
«
Последнее редактирование: Август 21, 2013, 17:51 от kambala
»
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
Re: снять ограничение на размер чужого окна
«
Ответ #1 :
Май 28, 2013, 13:10 »
Готов потыкаться, но есть пара вопросов - чужое окно какое? Qt-шное с макс сайзом ограниченным в качестве подопытного подойдёт?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: снять ограничение на размер чужого окна
«
Ответ #2 :
Май 28, 2013, 13:14 »
целевое — обычное HWND, не Qt-шное. ответ я вроде нашел как это делать
тут
(вместо хука просто переопределяется WndProc целевого окна и нужное сообщение обрабатывается, а остальные направляются окну), но не пробовал еще (несрочно). если есть желание — можешь попробовать
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
Re: снять ограничение на размер чужого окна
«
Ответ #3 :
Май 28, 2013, 13:30 »
Если уже нашел, скинь ссылочку я поковыряю на послеработы )
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: снять ограничение на размер чужого окна
«
Ответ #4 :
Май 28, 2013, 13:42 »
разуй глаза
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
Re: снять ограничение на размер чужого окна
«
Ответ #5 :
Май 28, 2013, 13:44 »
Она незаметнаааа
Увидел.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: снять ограничение на размер чужого окна
«
Ответ #6 :
Май 30, 2013, 23:04 »
оказывается нельзя изменять оконную процедуру окна, порожденного другим процессом (SetWindowLongPtr возвращает 0).
Цитировать
An application can subclass a system class, but should not subclass a window class created by another process.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #7 :
Май 31, 2013, 14:28 »
Ковыряюсь с этим, пока что решения нет, но я на пути к нему
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #8 :
Май 31, 2013, 15:17 »
вот наткнулся на еще один код (с хуком, и еще там длл принимает участие), вроде как рабочий:
https://github.com/nirvdrum/SnapsIE/blob/master/CoSnapsie.cpp
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #9 :
Май 31, 2013, 15:38 »
В принципе я до этого начал уже доходить, но путь ещё далёк
Пробовали? Но извращение то ещё
Не нашёл, правда, я в этом коде место, где функция записывается в адресное пространство чужого приложения. Глядел одним глазком
PS хотя это я и сам сделать могу
«
Последнее редактирование: Май 31, 2013, 15:47 от Bepec
»
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #10 :
Май 31, 2013, 17:53 »
я не совсем понимаю алгоритм. делается отдельная длл, задача которой — повесить хук на стороннее окно и вклинить туда свою реализацию оконной процедуры?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #11 :
Май 31, 2013, 19:51 »
Цитата: kambala от Май 24, 2013, 01:44
Здравствуйте. Есть окно чужого приложения, у которого жестко задан минимальный размер. Я хочу снять это ограничение из своего приложения. Насколько я понял, надо установить хук и перехватить WM_GETMINMAXINFO. Как это правильно сделать? Спасибо.
есть такая апликуха WinSpy++ называется.
сорцы в сети валяются, саму апликуху прикладываю.
полезная в хозяйстве штучка, я им заголовки окон извлекаю и прочие штучки выколупываю.
запусти, выбери оркно и поиграйся со стилями, а потом сорцы посмотри.
ПС. на 64 битах глючит - нужно другую версию, это для 32-х.
«
Последнее редактирование: Май 31, 2013, 19:53 от panAlexey
»
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #12 :
Май 31, 2013, 19:56 »
а сильно отличается от микрософтовского spy++?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #13 :
Май 31, 2013, 20:07 »
Цитата: kambala от Май 31, 2013, 19:56
а сильно отличается от микрософтовского spy++?
Сильно. Позволяет менять стили.
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: [НЕРЕШЕНО] снять ограничение на размер чужого окна
«
Ответ #14 :
Май 31, 2013, 20:12 »
стили это конечно здорово, но мне надо минимальный размер изменить
собрал 64-битную версию из исходников — почти каждое «прицельное» приложение падает при выборе вкладки Class или нажатии на N/A WndProc'а
за программу спасибо
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [
1
]
2
3
4
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...