Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330

Определить цвет пиксела в заданных координатах на экране

22.09.2014, 12:00. Показов 1889. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа при нажатии на button1 определяет открыт ли блокнот, обращается в координаты и если RGB цвет совпадает, то в textBox1 передает соответствующее сообщение, если не совпадает то соответственно передает другое сообщение.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Handle_games()
        {
            HWND Handle_panzar = FindWindow(L"Notepad", nullptr);
            if (Handle_panzar)
            {
                //textBox1->Text = "Блокнот открыт";
                HDC hdc = GetDC(Handle_panzar);
                COLORREF c = GetPixel(hdc, 13, 11); // координаты определения пикселя
                ReleaseDC(Handle_panzar, hdc);
                if (Handle_panzar, c == RGB(156, 153, 138)) //RGB коды цветов
                {
                    textBox1->Text = "Блокнот открыт: цвет совпадает";
                }
                else
                {
                    textBox1->Text = "Блокнот открыт: цвет НЕсовпадает";
                }
            }
            else
            {
                textBox1->Text = "Блокнот закрыт";
            }
        }
Всё должно быть так в идеале, НО! Программа почему-то не обращается в координаты блокнота и выдает ошибку..
Если закомментировать строку
C++
1
COLORREF c = GetPixel(hdc, 13, 11); // координаты определения пикселя
то ошибка исчезает, но и соответственно в координаты не обращается. При чем не каких синтаксических подчеркиваний нету..

Ошибка компилятора:
Кликните здесь для просмотра всего текста
1>------ Сборка начата: проект: ZT_Panzar, Конфигурация: Debug Win32 ------
1> MyForm.cpp
1>MyForm.cpp(19): warning C4829: Возможно, неправильные параметры функции main. Рекомендуемый вариант - "int main(Platform::Array<Platform::String^>^ argv)"
1>MyForm.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A00008E) "extern "C" unsigned long __stdcall GetPixel(struct HDC__ *,int,int)" (?GetPixel@@$$J212YGKPAUHDC__@@HH@Z) т ЇєэъЎшш "private: void __clrcall ZT_Panzar::MyForm::Handle_games(void)" (?Handle_games@MyForm@ZT_Panzar@@$$FA$AA MXXZ)
1>MyForm.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "extern "C" unsigned long __stdcall GetPixel(struct HDC__ *,int,int)" (?GetPixel@@$$J212YGKPAUHDC__@@HH@Z) т ЇєэъЎшш "private: void __clrcall ZT_Panzar::MyForm::Handle_games(void)" (?Handle_games@MyForm@ZT_Panzar@@$$FA$AA MXXZ)
1>D:\ё++\Visual Studio 2013\ZT_Panzar\Debug\ZT_Panzar.exe : fatal error LNK1120: эхЁрчЁх°хээ√ї тэх°эшї ¤ыхьхэЄют: 2
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.09.2014, 12:00
Ответы с готовыми решениями:

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

Определить в окне цвет пикселя в заданных координатах
Доброго времени суток. Задача такая. Найти окно в названии которого есть &quot;reg555&quot; и определить цвет пикселя с координатами 50*50. ...

Цвет пиксела на экране
Помогите, пожалуйста, сделать по-нормальному программу. В инете видел несколько примеров, но у меня они почему-то не работают. Мне нужно,...

2
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
22.09.2014, 21:42
Лучший ответ Сообщение было отмечено Nalik как решение

Решение

Посмотрите что у вас в свойствах проекта, в дополнительных зависимостях. Вам понадобятся user32.lib и gdi32.lib.
(скрин 1)
И поддержку CLR-среды посмотрите .(скрин 2)
/clr должно быть , вероятно у вас /clr-pure
Миниатюры
Определить цвет пиксела в заданных координатах на экране   Определить цвет пиксела в заданных координатах на экране  
2
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
23.09.2014, 13:39  [ТС]
Спасибо большое, помогло! Чтобы я без вас делал бы! Ни за что бы не догалался, что дело не в коде, а в определенной настройке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2014, 13:39
Помогаю со студенческими работами здесь

Какой функцией можно получить цвет пикселя в заданных координатах?
К примеру while (true) { QCursor::setPos(200, 200); //здесь получаем цвет пикселя if(color_at_position ==...

Определить цвет пиксела в произвольной точке монитора
Доброе время суток. Подскажите, пожалуйста, как определить цвет пиксела в произвольной точке монитора?

Определить, можно ли в многоугольник с вершинами в заданных координатах вписать окружность
требуется написать программу которая определяет можно ли в многоугольник с вершинами в заданных координатах вписать окружность, и если...

Поиск пиксела на экране
Нашел тему. вот топик. Удалено Правила 5.8 Запрещено публиковать ссылки на другие форумы, а также их пропаганда. Вот скрипт......

Цвет пиксела
Приветствую уважаемых форумчан! Ребят, если кто знаком с XNA подскажите как можно получить цвет пиксела, зная его координаты (2D), или...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru