Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100

Не находин хендел

23.05.2011, 16:27. Показов 1640. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
сдрасте есть код,который не работает.
также есть окно с титлом Garena там же есть класс RichEdit20W
по сути должно работать .
А неработает
C++
1
2
if(FindWindowEx(NULL,NULL,L"RichEdit20W",L"Garena")!=NULL)
    ui->label->setText("SS");
C++
1
FindWindowEx(NULL,NULL,L"RichEdit20W",L"Garena")
вазращает нуль
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2011, 16:27
Ответы с готовыми решениями:

Хендел консоли
Делаю вот такое: #include <iostream> #include <windows.h> using namespace std; void main() { system("ipconfig");...

Передача сообщений через хендел
Здравствуйте. Как мне зная хендел окна передать сообщение Left, Top, Width, Height, WindowState?

Хендел окна на котором установлен фокус
Как узнать дескриптор окна на котором установлен фокус? И еще как обрабатывать нажатие кнопок если на окне нет фокуса?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
24.05.2011, 09:34
А просто FindWindow() находит?
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.05.2011, 12:00
Я так понимаю, что дочерние ищутся в родительском окне. Родительским указан "Рабочий стол", поэтому ищется в нём.
Кроме того, у Garena класс CWnd(вероятно), а не РичЕдит. Т.е. ты ищешь не то и не в том.
Сперва найди Garena, а в нём уже ищи РичЭдит.
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
24.05.2011, 12:03  [ТС]
Так гарена я нашел,все классы ищет,а именно RichEdit20W2 нет че за фигня такая
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.05.2011, 12:19
Это FindWindowEx(NULL,NULL,L"RichEdit20W",L" Garena") и не должно находить.
Повторяю, класс и имя не соответствуют друг-другу.
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
24.05.2011, 12:27  [ТС]
что-то я не понял.
вот иерархия классов SkinWindow(Garena)-CMainWindow() -#32770()-RichEdit20W()
в скобочках назание титлов.

короче подскажите как в другую программу в текстовое поле(class "RichEdit20W" name "RichEdit20W2) передать текст.
C++
1
FindWindowEx(NULL,NULL,L"RichEdit20W",L"Garena")
мне сказали вот так вот надо,но я слишком криворукий еще что бы понять это
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.05.2011, 12:54
Дескриптор родительского окна, в котором ищут. NULL - рабочий стол
Дескриптор дочернего окна, с которого начинать искать. NULL - с первого
Класс окна. Либо атомом, либо строкой. У тебя строкой.
Заголовок окна. У тебя "Гарена", а на самом деле заголовка у контрола вообще нет.
И чему ты удивляешься?
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
24.05.2011, 12:59  [ТС]
Аа все понял. но опять же омг
C++
1
2
3
4
 HWND hw=FindWindowExA(NULL,NULL,"#32770",NULL);
    hw=FindWindowExA(hw,NULL,"RichEdit20",NULL);
    if(hw !=NULL)
        ui->label->setText("SSS");
первая строчка проходит,а вторая нет.
хотя класс RichEdit20 Находится в классе #32770
что тогда?
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.05.2011, 13:18
hw=FindWindowExA(hw,NULL,"RichEdit20",NU LL);
Почему не RichEdit20W ?
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
24.05.2011, 13:28  [ТС]
Цитата Сообщение от Deviaphan Посмотреть сообщение
hw=FindWindowExA(hw,NULL,"RichEdit20",NU LL);
Почему не RichEdit20W ?
слабо на кнопку нажал) не дописал W

Добавлено через 5 минут
Deviaphan, можешь аську дать ,я тебе всю суть обьсянсю ,а то на форуме как-то не могу,если ты не занят ну и хочешь помочь )
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
24.05.2011, 13:41
Да я уже всё что знал - сказал.)
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
24.05.2011, 15:59
копай в сторону EnumWindows и EnumChildWindows
перебирай все дочерние окна Garena и ищи имя своего рич едита , и если у дочернего будут тоже дочерние их тоже перебирай =) думаю идея понятна
так найдешь хендл

Добавлено через 46 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <windows.h>
#include <vector>
#include <iostream>
using namespace std;
 
char targetClass[]="RichEdit20W";
vector <HWND> target;
 
BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
{
    char txt[256]={0};
    char buff[256]={0};
    GetWindowText(hwnd,txt,255);
    GetClassName(hwnd,buff,255);
    CharToOem(txt,txt);
    cout<<hwnd<<" | "<<txt<<" | "<<buff<<endl;
    if(strstr(buff,targetClass)!=NULL)
    {
        target.push_back(hwnd);
 
    }
    return TRUE;
}
 
int main(int argc,char *argv[])
{
    HWND main = FindWindowW(NULL,L"Garena");
    EnumChildWindows(main,EnumChildProc,NULL);
    for(int i=0;i<target.size();i++)
        cout<<"\nTarget -> "<<target.at(i);
    return 0;
}
как то так....
кстати у меня нашло 2 рич едита
1
 Аватар для Manjak
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
24.05.2011, 16:22
Spy++ вам в помощь. Для началанужно найти родительское окно, а потом уже искать дочернее.
0
2 / 2 / 2
Регистрация: 15.11.2009
Сообщений: 100
24.05.2011, 18:20  [ТС]
я через Spy++ копал ,там как раз вся иерархия окон,классов .

Добавлено через 7 минут
Цитата Сообщение от m1Rr0r Посмотреть сообщение
кстати у меня нашло 2 рич едита
Да,да Да! там как раз 2 рич эдита,только я непойму
C++
1
2
3
GetWindowText(hwnd,txt,255);
        GetClassName(hwnd,buff,255);
        CharToOem(txt,txt);
разве txt и buff Не должны быть LPWSTR? у меня ругается компилятор
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
24.05.2011, 19:00
zinador, покеж ошибки
в опциях проекта
выруби поддержку unicode
Character Set ->> Not Set
или сделай приведение типов
Цитата Сообщение от zinador Посмотреть сообщение
GetWindowText(hwnd,(LPWSTR)txt,255);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru