Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/141: Рейтинг темы: голосов - 141, средняя оценка - 4.84
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235

Как найти HWND нужного окна?

31.07.2012, 21:18. Показов 27712. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
хочу написать программу которая нажимала бы клавишу в другом окне, когда оно перекрыто другим
подскажите как найти хвнд нужного окна
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.07.2012, 21:18
Ответы с готовыми решениями:

Найти HWND окна, зная HWND окна, породившего его
Здравствуйте! Имеется основное окно "А". Это окно создаёт новое недочернее окно "Б". Необходимо найти HWND окна "Б",...

Как определить hwnd окна
Добрый день. Проблема такая.Я сделал exe ,который рисует окно,и в нем пишу,кнопки ставлю.Это окно при запуске exe появляется в текущем...

Как проверить состояние окна hwnd
Возможно ли узнать состояние окна hwnd, когда свёрнуто, когда открыто?

18
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
31.07.2012, 21:27
FindWindow?
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
01.08.2012, 00:06  [ТС]
C++
1
2
 HWND hWnd;
hWnd = FindWindow(NULL, "Калькулятор");
ошибка компилятора vs2010:
Ошибка 1 error C2664: FindWindowW: невозможно преобразовать параметр 2 из "const char [12]" в "LPCWSTR" c:\users\com\documents\visual studio 2010\projects\поиск хвнд\поиск хвнд\Form1.h 84
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
01.08.2012, 00:09
C++
1
FindWindow(NULL, _T("Калькулятор"));
1
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
01.08.2012, 08:21  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
C++
1
FindWindow(NULL, _T("Калькулятор"));
Ошибка 1 error C3861: _T: идентификатор не найден c:\users\com\documents\visual studio 2010\projects\поиск хвнд\поиск хвнд\Form1.h 84
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
01.08.2012, 08:55
#include <tchar.h> сделал?
1
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
01.08.2012, 14:04  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
#include <tchar.h> сделал?
Спасибо

Добавлено через 30 минут
блин не находит нечего кроме блокнота (
C++
1
2
3
 HWND hWnd;
                hWnd = FindWindow(NULL, _T("Mail.Ru Агент"));
                    if (hWnd != 0) { button1->Text = "nashlo" ;} //не работает
C++
1
2
3
 HWND hWnd;
                hWnd = FindWindow(NULL, _T("Chrome"));
                    if (hWnd != 0) { button1->Text = "nashlo" ;}//не работает
HWND hWnd;
C++
1
2
hWnd = FindWindow(NULL, _T("Опера"));
                    if (hWnd != 0) { button1->Text = "nashlo" ;}//не работает
что я не так делаю?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
01.08.2012, 14:46
Пардон, а что, у Оперы разве заголовок просто "Опера"? У меня тут показывает "Экспресс-панель - Opera". Нужно искать по точному заголовку.
0
 Аватар для _lucius_
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
01.08.2012, 16:30
ExpressS, может лутше не по заголовку искать, а по классу.

HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
01.08.2012, 20:28  [ТС]
Цитата Сообщение от _lucius_ Посмотреть сообщение
ExpressS, может лутше не по заголовку искать, а по классу.

HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);
не разбираюсь в этих классах я, могешь что то подсказать?

Добавлено через 58 минут
почитал о классах понял как узнать что за класс,я пишу воттак
C++
1
FindWindow(ContactsHostWindow,NULL);
а компилятор пишет воттак
Ошибка 3 error C2065: ContactsHostWindow: необъявленный идентификатор c:\users\com\documents\visual studio 2010\projects\[dddddddd\[dddddddd\Form1.h 150
как объявить класс ?
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
01.08.2012, 20:57
Цитата Сообщение от ExpressS Посмотреть сообщение
я пишу воттак
Код C++
1
FindWindow(ContactsHostWindow,NULL);
конечно , компилятор думает , что это переменная символьного типа , читай , что пишет компилятор !!!
Должно вот так выглябить-
C++
1
FindWindow("ContactsHostWindow",NULL);
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
02.08.2012, 11:05  [ТС]
все всем кто помогал огромное спс проблема решена

Добавлено через 13 часов 50 минут
Появилась новая проблема, если у меня запущены 2 приложения с одинаковыми заголовками как мне их различать, и зная хендел в виде 00010010 как мне его подставить в функцию? пробовал вот так
C++
1
hWnd = 00010010;
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
03.08.2012, 18:19  [ТС]
Цитата Сообщение от ExpressS Посмотреть сообщение
все всем кто помогал огромное спс проблема решена

Добавлено через 13 часов 50 минут
Появилась новая проблема, если у меня запущены 2 приложения с одинаковыми заголовками как мне их различать, и зная хендел в виде 00010010 как мне его подставить в функцию? пробовал вот так
C++
1
hWnd = 00010010;
проблема актуальна прошу помощи
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.08.2012, 18:21
Цитата Сообщение от ExpressS Посмотреть сообщение
все всем кто помогал огромное спс проблема решена

Добавлено через 13 часов 50 минут
Появилась новая проблема, если у меня запущены 2 приложения с одинаковыми заголовками как мне их различать, и зная хендел в виде 00010010 как мне его подставить в функцию? пробовал вот так
C++
1
hWnd = 00010010;
hexadecimal? binary?
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
03.08.2012, 22:14  [ТС]
Цитата Сообщение от novi4ok Посмотреть сообщение
hexadecimal? binary?
поподробнее пожалуйста и на русском
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
04.08.2012, 01:52
программируешь тоже так?
C++
1
2
3
для (целое и = 0; и меньше самого большого; и++){
   целое ы = и умножить на шестнадцатеричное 00010000100
}
столбовой-кондовый?
0
 Аватар для ExpressS
5 / 8 / 2
Регистрация: 30.07.2012
Сообщений: 235
06.08.2012, 15:13  [ТС]
неужели некто не может помочь?
0
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 47
02.12.2012, 17:35
C++
1
2
3
4
5
6
7
8
9
#include <Windows.h>
 
int main()
{
int a=0x0000000;
HWND hwnd=(HWND)a;
SendMessage(hwnd,WM_CLOSE,0,0);
system("pause");
}
Добавлено через 2 минуты
То число что у тебя есть - 16ричное. Что бы присвоить его типу инт пишешь 0x "твое число"

После приводишь int к hwnd (HWND)"твоя переменная инт которой ты присвоил хендл"
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
02.12.2012, 20:33
Цитата Сообщение от ExpressS Посмотреть сообщение
Ошибка 1 error C2664: FindWindowW: невозможно преобразовать параметр 2 из "const char [12]" в "LPCWSTR" c:\users\com\documents\visual studio 2010\projects\поиск хвнд\поиск хвнд\Form1.h 84
Просто убери в настройках проекта использование юникодовых строк!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2012, 20:33
Помогаю со студенческими работами здесь

Как получить HWND окна/процесса/консоли
Как получить HWND окна/процесса/консоли? мне надо для Shellexecute. Реализация в Dll #include &quot;hooklib\MinHook.h&quot; #include...

Как получить HWND, созданного функцией CreateProcess, окна консоли
Есть обычное оконное прижоление на Win Api. В какой-то момент вызываю CreateProcessW и подсовываю в параметры путь к своему консольному...

Как получить HWND окна на панели задач по координатам мыши?
Как получить хэндл свернутого на панель задач окна, на которое наведена мышка?) Добавлено через 48 секунд Желательно чтобы способ...

Как найти HWND окна по имени, открытое последним? windows.h
Когда я использую: #include &lt;windows.h&gt; FindWindowA(0, (&quot;Starbound&quot;));мне выводит один и тот же HWND одного и тоже окна каждый раз,...

По нажатию кнопки найти HWND окна
Добрый день, прошу сапогами не пинать. У меня стоит следующая задача: Нужно по нажатию button1, найти HWND окна с title как в...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 01.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 31.01.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru