Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74

Findwindow не работает

14.02.2016, 14:43. Показов 3033. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет
такая проблема, если в имени окна есть \ то не ищет окно, как быть?
C++
1
hWND = FindWindow(Edit1->Text.c_str(),NULL);
у нужного мне окна в заголовке написан пусть исполняемого файла

спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2016, 14:43
Ответы с готовыми решениями:

FindWindow
Добрый день! Есть проблема при работе с данной функцией. char* process_name = "MassEffect2"; HWND proc_hwnd = FindWindow(NULL,...

PostMessage+FindWindow+WM_KEYDOWN
Такая проблема, при использовании PostMessage + FindWindow для нажатия клавиши(WM_KEYDOWN), не происходит выделения окна приложения. При...

Поиск текста в чужом окне (FindWindow/EnumChildWindows)
Здравствуйте. 1. Есть программа UnderC, интерпретатор запускается командной строкой ucw.exe task.cpp 2. Результат выполнения выглядит...

9
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
14.02.2016, 14:55
это че, Вы ищите хендел окна по его пути?

Добавлено через 5 минут
а, не сразу понял описание проблемы, попробуйте заменить слеши на их код символа.
А еще можно воспользоваться GetForegroundWindow(), которая даст Вам хендл активного окна
0
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
14.02.2016, 14:56  [ТС]
нет, я ищу хэндл окна, чтоб его закрыть, но вот в имени нужного окна прописан путь типа:
c:\folder\app.exe

я думаю функции не нравятся слеши, может там надо двойные?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
14.02.2016, 15:01
И может надо сделать так:
C++
1
HWND hwnd=FindWindow(NULL,Edit1->Text.c_str());
?
0
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
14.02.2016, 15:05  [ТС]
Уменя так:

C++
1
2
3
4
5
HWND hWND;
hWND = FindWindow(Edit1->Text.c_str(),NULL);
 
if (hWND!=0)
  SendMessage(hWND,WM_CLOSE,0,0);
работает только для окон в заголовке который текст типа: "Калькулятор"
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
14.02.2016, 15:07
Выше написал

Ваш вариант
C++
1
FindWindow(Edit1->Text.c_str(),NULL);
Мой Вариант
C++
1
FindWindow(NULL,Edit1->Text.c_str());
Видите разницу?
1
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
14.02.2016, 15:22  [ТС]
а, понял

Добавлено через 11 минут
спасибо работает!
0
1 / 1 / 0
Регистрация: 22.02.2014
Сообщений: 112
28.08.2018, 16:38
Тема стара конечно, но у меня схожая проблема

Вот так не ищет
C++
1
 _hwnd = FindWindow(NULL, L"Запуск 1С:Предприятия (учебной версии)");

Вот так ищет
C++
1
 _hwnd = FindWindow(NULL, L"Калькулятор");
Не пойму в чем проблема, уже пробовал и имя класса вставлять, значения заголовков окна скопированы из spy++
пишу на винде 7, qt, unicode, тоже уже думаю может надо какие то символы экранировать?
0
1 / 1 / 0
Регистрация: 22.02.2014
Сообщений: 112
02.09.2018, 06:12
Нашел решение проблемы
C++ (Qt)
1
2
3
4
5
6
7
8
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QString s = codec->toUnicode("Заголовок главного окна");
LPCWSTR lps = (LPCWSTR)s.utf16();
 
HWND hWnd = FindWindow(nullptr, lps);
if (hWnd > 0) {
    ShowWindow(hWnd, SW_RESTORE);
    SetForegroundWindow(hWnd);
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
02.09.2018, 07:58
Цитата Сообщение от enter13 Посмотреть сообщение
пишу на винде 7, qt, unicode, тоже уже думаю может надо какие то символы экранировать?
А может, надо просто в соответствующий раздел форума обращаться? QT и C++ Builder - это, как бы, 2 большие разницы...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.09.2018, 07:58
Помогаю со студенческими работами здесь

Отправка сообщений окнам: использование функции FindWindow()
я создаю копии приложения с разными именами, и мне надо каждому отправлять пользовательские сообщения, как мне находить эти окна через...

Как узнать HWND созданного только что SendMessage окна? и желательно без FindWindow
заранее спасибо если чо, то FindWindow почему то не работает. Добавлено через 54 минуты Я задумался и решил что это как будто...

нахожу окна с помошю FindWindow(); и FindWindowEx(); (ето тачнее кнопка программы) как можно его программно нажать?
Вот опять я, Здравстуйте люди добрые ;) У меня вопрос: вот нахожу окна с помошю FindWindow(); и FindWindowEx(); (ето тачнее кнопка...

FindWindow C++
Добрый день. Borland C++; Суть части кода: Вначале находим окно игрушки(клиента). Если клиента нет - ищем в браузере(Опера)...

FindWindow
Делаю прогу которая закрывает окно по его закголовку вот код: procedure TForm1.Button1Click(Sender: TObject); var wnd:HWnd; begin...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
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 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.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 через установщик. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru