FiEctro писал: Т.е. он имя класса должен возвращать?
Ну какого класса? Хэндл это абстрактный термин, за которым может скрываться всё что угодно. Это типа указателя, но безопасного. Хотя зачастую безопасностью там и не пахнет.
Грубо говоря, адрес в памяти - это указатель. А хэндл - это какое-то уникальное число, зачастую весьма небольшое. Которое используется в качестве индекса в доступе к массиву. Прикол в том, что мелкомягкие зачастую оформляют хэндлы в виде указателей или вообще смешивают оба понятия, причём такой хэндл может вообще не ссылаться ни на какой реальный адрес. Т.е. если ты такой хэндл попытаешься использовать как адрес, он тебя приведёт к чорту на рага.
Цитата:
FiEctro писал: Т.е. это просто модуль записанный в память?
Я не знаю, откуда там указатель берётся. Скорее всего это тоже очередной хэндл. Оно так страшно выглядит, потому что в старых виндах были реальные указатели, которые потом обмазали толстенным слоем абстракций.
Как раз к Win2K это всё и оформилось в теперешнем виде.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Не получается, при обращении к hButton пишет Вызвано исключение по адресу 0x00007FF8A32E2B26 (ntdll.dll) в my.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x0000000140000000. Правда тут я обращаюсь напрямую к родительскому окну, но и с дочерними такая же фигня. Если запускать отдельно от студии, оно вроде даже пишет что кнопка таки создана и даже получает её адрес. Но при этом целевое окно просто зависает и бесконечно крутится, кнопка так же не рисуется.
Добавлено 28-04-2023 в 01:20:
Заработало! Надо было всего то добавить обработчик мессаг.
Теперь другой вопрос, кнопка рисуется под элементами, как ей задать сортировку по глубине?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Хочу в прогу к которой не имею сорцев вставить свои кнопки. Ну и через память управлять процессами в ней, чтобы упростить несколько рутинных действий. Что то вроде трейнера, только для проги, а не игр. В целом почти получилось, осталось только разобраться как получать хендлы других классов окна и как сделать чтобы кнопку жмакать можно было. Ну и так в целом с формами и указателями попрактиковаться.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Да жмакать-то её несложно, а куда ты собрался отправлять команду?
WriteProcessMemory();
Интересно, а хандл у процесса и окна которое мы ищем через класс - разные?
вместо имени окна, ловится MSCTFIME UI, ну ладно тогда костылём попробую из памяти вытащить имя окна.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Ты гляди, винду запореш, как на форум ходить будешь?
Да не страшно, она и так запорота. Всё жду новый диск. Мне интересно как получить текст заголовка окна зная модуль и инстанс окна?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
int len = GetWindowTextA(hWnd, buffer.data(), buffer.size());
5
if (len > 0) {
6
std::string windowTitle(buffer.data(), len);
7
std::string searchTitle("MyAppName");
8
if (windowTitle.find(searchTitle) != std::string::npos) {
9
// std::cout << windowTitle << std::endl;
10
title = windowTitle;
11
12
return FALSE;
13
}
14
}
15
return TRUE;
16
}
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!