FiEctro писал: Т.е. он имя класса должен возвращать?
Ну какого класса? Хэндл это абстрактный термин, за которым может скрываться всё что угодно. Это типа указателя, но безопасного. Хотя зачастую безопасностью там и не пахнет.
Грубо говоря, адрес в памяти - это указатель. А хэндл - это какое-то уникальное число, зачастую весьма небольшое. Которое используется в качестве индекса в доступе к массиву. Прикол в том, что мелкомягкие зачастую оформляют хэндлы в виде указателей или вообще смешивают оба понятия, причём такой хэндл может вообще не ссылаться ни на какой реальный адрес. Т.е. если ты такой хэндл попытаешься использовать как адрес, он тебя приведёт к чорту на рага.
Цитата:
FiEctro писал: Т.е. это просто модуль записанный в память?
Я не знаю, откуда там указатель берётся. Скорее всего это тоже очередной хэндл. Оно так страшно выглядит, потому что в старых виндах были реальные указатели, которые потом обмазали толстенным слоем абстракций.
Как раз к Win2K это всё и оформилось в теперешнем виде.
Не получается, при обращении к hButton пишет Вызвано исключение по адресу 0x00007FF8A32E2B26 (ntdll.dll) в my.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x0000000140000000. Правда тут я обращаюсь напрямую к родительскому окну, но и с дочерними такая же фигня. Если запускать отдельно от студии, оно вроде даже пишет что кнопка таки создана и даже получает её адрес. Но при этом целевое окно просто зависает и бесконечно крутится, кнопка так же не рисуется.
Добавлено 28-04-2023 в 01:20:
Заработало! Надо было всего то добавить обработчик мессаг.
Хочу в прогу к которой не имею сорцев вставить свои кнопки. Ну и через память управлять процессами в ней, чтобы упростить несколько рутинных действий. Что то вроде трейнера, только для проги, а не игр. В целом почти получилось, осталось только разобраться как получать хендлы других классов окна и как сделать чтобы кнопку жмакать можно было. Ну и так в целом с формами и указателями попрактиковаться.