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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2019, 10:41   #1
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию А можно по дескриптору сравнить его класс с заданным?

Есть некий
Цитата:
HWND Window;
, этот Window присвоен так:
Код:
Window=CreateWindow(L"<class>",
L"<заголовок>",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
Instance,
nullptr);
, после этого он был передан в мою функцию как фактический параметр, формальный параметр тоже зовут Window. Я предполагаю, чему был равен параметр <class> при создании окна. Может моя функция проверить данное предположение? При несовпадении надо сразу вернуть false и завершиться, при совпадении – выполнить некоторые действия с окном, потом вернуть true и завершиться.
taras-proger77 вне форума Ответить с цитированием
Старый 15.04.2019, 10:50   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

GetClassName
p51x вне форума Ответить с цитированием
Старый 15.04.2019, 12:19   #3
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

А что задать в nMaxCount?
taras-proger77 вне форума Ответить с цитированием
Старый 15.04.2019, 12:24   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
The length of the lpClassName buffer, in characters. The buffer must be large enough to include the terminating null character; otherwise, the class name string is truncated to nMaxCount-1 characters.
Все ж есть в доке.
p51x вне форума Ответить с цитированием
Старый 15.04.2019, 14:28   #5
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Это я мог и сам написать. Вопрос в значении.
taras-proger77 вне форума Ответить с цитированием
Старый 15.04.2019, 14:30   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

В смысле в значемнии? Вы выделили буфер, указали его адрес и размер.
p51x вне форума Ответить с цитированием
Старый 15.04.2019, 14:35   #7
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

А сколько выделять?
taras-proger77 вне форума Ответить с цитированием
Старый 15.04.2019, 14:37   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Формально:
Цитата:
The maximum length for lpszClassName is 256. If lpszClassName is greater than the maximum length, the RegisterClass function will fail.
p51x вне форума Ответить с цитированием
Старый 15.04.2019, 15:23   #9
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

То есть указать длину предполагаемого значения, но не больше 256 и проконтролировать, чтоб все имена классов окон не превышали 255 символов (не считая терминального ноля). A. C.
taras-proger77 вне форума Ответить с цитированием
Старый 15.04.2019, 15:27   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы о чем? Откуда такие выводы? У вас есть две функции: GetClassName и RegisterClass.
Первой ВЫ указываете указатель на буфер, которы вы выделили, и его размер.
Вторая допускает имена классов до 256.

Какое предполагаемое значение? Стандартная функция регистрации сама проконтролирует размер.
p51x вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс с заданным набором свойств пловец Помощь студентам 0 27.12.2016 01:21
Подскажите как можно сравнить 2 таблицы или колонки andrew_v_k Microsoft Office Excel 2 10.08.2009 11:56
как в перле можно сравнить два файла? menik Помощь студентам 1 23.02.2009 10:16
Как с помощью формул можно сравнить и вывести данные kutt Microsoft Office Excel 2 24.09.2008 17:05
Нужно получить все компоненты чужого окна по дескриптору 3lander Win Api 12 28.11.2007 20:41