Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Незнайка
26 / 11 / 2
Регистрация: 14.10.2016
Сообщений: 373
Записей в блоге: 2

Об окнах в windows

18.03.2017, 14:53. Показов 712. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! И сразу к делу.

Я меня есть код:

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
#include <iostream>
#include "Windows.h"
 
using namespace std;
 
int color[3];
COLORREF pixel;
HWND hwnd;
HDC hdc;
 
int main() {
        hwnd = FindWindow("Chrome_RenderWidgetHostHWND","Chrome Legacy Window");
    hdc=GetWindowDC(hwnd);
 
        for (;;) {
    pixel = GetPixel(
        hdc,
        650,
        490
    );
 
    color[0] = GetRValue(pixel);
    color[1] = GetGValue(pixel);
    color[2] = GetBValue(pixel);
 
        system("cls");
        cout << color[0] << ":" << color[1] << ":" << color[2] << endl;
        }
}
Делает он такое:

Фокусируется на Яндекс Браузер (сват хрома, так что за название класса не удивляйтесь), определяет цвет нужного пикселя и выводит результат.

Всё нормально, цвет определяется верно до тех пор, пока я не перекрою окно другим окном. Тогда программа определяет цвет как белый (255, 255, 255). И если снова открыть браузер, убрав перекрывающее точку окно, цвет всё ещё остаётся белым... Алогично, не находите?

Внимание, вопросы:

1) почему цвет белый, если перекрыть точку другим окном?
2) Почему он белый, если снова открыть эту точку?
3) Можно ли как-нибудь исправить первый пункт? Мне просто нужно, чтобы программа могла исправно работать с неактивным браузером на фоне, пока я, например, работаю в ворде.

Заранее, огрогмнейшее спасибище за ответы!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.03.2017, 14:53
Ответы с готовыми решениями:

Статическая графика в окнах Windows
- Создать окно Windows. В заголовок окна записать свои данные: имя, фамилию и название рисунка. - Используя функции из библиотеки...

Статическая графика в окнах Windows
- Создать окно Windows. В заголовок окна записать свои данные: имя, фамилию и название рисунка. - Используя функции из библиотеки...

Об окнах в java
На эту тему в учебниках почти ни слова, в javadoc тоже непонятно. Там все заточено под создание апплетов, но мне нужны обыкновенные ява...

2
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.03.2017, 15:04
Ты бы хоть паузу какую-то ставил в цикл, где вообще условие завершения? hdc попробуй запрашивать перед каждым вызовом getpixel и проверяй возврат, чтобы ошибку ловить.
1
Незнайка
26 / 11 / 2
Регистрация: 14.10.2016
Сообщений: 373
Записей в блоге: 2
18.03.2017, 17:45  [ТС]
Поступил так, как Вы сказали... Теперь он показывает цвет пикселя везде... Открываю браузер - показывает, что в нём
Перекрываю его проводником, показывает цвет этой точки на проводнике... Что-то, по-моему, не так... По идее он должен искать пиксель только в браузере. И если его перекрыть другой программой, он должен видеть сквозь эту программу всё тот же браузер, показывая цвет этого пикселя в браузере... Не? Или это как-то по-другому работает?

А, всё, я понял, для скрытых окон цвета не обновляются... А жаль...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.03.2017, 17:45
Помогаю со студенческими работами здесь

Информация об окнах
Простенькая утилита, которая выдает информацию по окну, которое находится под курсором. Может пригодится кому Option Explicit ...

Порнобаннер в окнах браузеров 3
Всем привет. посмотрел тему &quot;2&quot; у меня точно такая же ситуация. выполнил проверку через hijackthis он мне вывел подозрительную...

Порнобаннер в окнах браузеров_2
Здравствуйте!В основном влевой стороне появляется окошко с надписью закрыть, а в этом окне сабж. Прошу помощи так как это дело надоедает...

Баг текста в окнах
Сразу см. вложения. Вот такая вот фигня с текстом. Он полуисчезает. И в нетбинсе и в эклипсе такая фигня. Может кто встречал подобное? ...

Кодировка в диалоговых окнах
Здравствуйте! У меня возникла проблема. В title окна (на скрине) другая кодировка (должна быть по-русски) Почему так, ведь у меня уже...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru