Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как задать конкретный hwnd 
V
    Опции темы
Temdegon
Дата 7.1.2009, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.10.2008
Где: Minsk

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



Я хочу поэкспериментировать со стайлами конкретного окна. запускаю Spy++, навожу на окно, беру hwnd, например 00250410. Я так понимаю, это хекс, и в коде его нужно задавать в виде 0х00250410?
Как мне в коде присвоить переменной 
HWND handle это значение?
hanlde = 0x00250410 ?
handle.unused = 0x00250410 ?
или как-то по другому? На такой простой вопрос я почему-то не смог найти ответ ни на форуме, ни в гугле.
PM MAIL   Вверх
Kallikanzarid
Дата 7.1.2009, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

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



Первый вариант - правильный, только используй явное приведение типа. Если не сработает, значит число - десятичное.
PM MAIL   Вверх
Temdegon
Дата 7.1.2009, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.10.2008
Где: Minsk

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



Спасибо, действительно, все оказалось  просто:
Код

hanlde = (HWND)0x00250410

Но до этого я бы сам не додумался  smile 
PM MAIL   Вверх
Dem_max
Дата 8.1.2009, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Это все равно тебе не поможет, при другом запуске хэндл будет уже другой.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
DominiK
Дата 10.1.2009, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 11.3.2007
Где: Россия, Омск

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



Цитата(Dem_max @ 8.1.2009,  07:40)
Это все равно тебе не поможет, при другом запуске хэндл будет уже другой.

поэтому смотри тем же spy название\класс окна, и ищи его с помощью FindWindow.
PM MAIL   Вверх
Temdegon
Дата 10.1.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.10.2008
Где: Minsk

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



Программа сначала ищет хэндлы нужных окон через findWindow и заносит их в массив. А потом уже манипулирут этими окнами - двигает, изменяет стайл, скрывает, кликает кнопки и т.п. Но массив хэндлов будет передаваться в код Java и обратно, по этому я не могу манипулировать типом HWND. А сам вопрос возник, когда я хотел побыстрому проверить пару функций, на конкретных окнах, когда основной код еще не был дописан. Хэндл в Spy++ я то вижу, а как его превратить в HWND не знал. Теперь знаю, окромное спасибо всем за быструю помощь.
PM MAIL   Вверх
GremlinProg
Дата 11.1.2009, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 99
Всего: 106




M
GremlinProg
Если вопрос решен, помечайте тему соответствующим образом



--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


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

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


 




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


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

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