Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2011, 18:40   #1
nury
 
Регистрация: 16.01.2011
Сообщений: 9
Сообщение Беда с перегоном скрина окна браузера хром в массив

Доброго времени суток. Теперь мне нужно загнать скрин окна браузера в массив, (мне нужно отследить отдельные пиксели на сайте). Написала такую функцию в MVS 2010 Pro (win32 консоль).

Код:
int pixelUp (int pixel)
{
HWND hGame = FindWindow (L"Chrome_WidgetWin_0",NULL);
//на входе hGame - это хэндл браузера
RECT Game;//размеры окна браузера
BITMAPINFO BMI={0};
HDC hGDC=GetDC(hGame);
HDC hTmpDC=CreateCompatibleDC(hGDC);
GetClientRect(hGame,&Game);
HBITMAP hTmpBmp=CreateCompatibleBitmap(hGDC,Game.right,Game.bottom);
SelectObject(hTmpDC,hTmpBmp);
BitBlt(hTmpDC,0,0,Game.right,Game.bottom,hGDC,0,0,SRCCOPY);
BMI.bmiHeader.biSize = sizeof(BMI.bmiHeader);
BMI.bmiHeader.biWidth = Game.right;
BMI.bmiHeader.biHeight = Game.bottom;
BMI.bmiHeader.biPlanes = 1;
BMI.bmiHeader.biBitCount = 32;
BMI.bmiHeader.biCompression = BI_RGB;
BMI.bmiHeader.biClrUsed = 0;
BMI.bmiHeader.biClrImportant = 0;
COLORREF* pixGame=new COLORREF[Game.right*Game.bottom];
GetDIBits(hTmpDC,hTmpBmp,0,Game.bottom,pixGame,&BMI, DIB_RGB_COLORS);
//теперь массив pixGame содержит нужные данные
return pixGame [pixel];
};
т.е. она принимает номер пикселя окна браузера и возвращает его цвет и яркость в одной переменной. (по крайне мере я так задумывала =)) Функция цепляется к браузеру (в данном случае к хрому) через его класс. Но возвращает она в любом случае либо нули либо fefefefe (в hex отображени. ) В чём ошибка подскажите пожалуйста?
nury вне форума Ответить с цитированием
Старый 15.08.2011, 19:12   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

а чем GetPixel не устроит?
counter вне форума Ответить с цитированием
Старый 15.08.2011, 19:21   #3
nury
 
Регистрация: 16.01.2011
Сообщений: 9
По умолчанию

Я не знаю такого.
Если не трудно, можете переписать код с GetPixel (с кометами в изменённых местах). Пожалуйста. Заранее спасибо большое.
nury вне форума Ответить с цитированием
Старый 15.08.2011, 19:33   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Сообщение от nury Посмотреть сообщение
Я не знаю такого.
Проблема узнать?

http://msdn.microsoft.com/en-us/libr...09(VS.85).aspx
http://vsokovikov.narod.ru/New_MSDN_...n_getpixel.htm
counter вне форума Ответить с цитированием
Старый 16.08.2011, 11:13   #5
nury
 
Регистрация: 16.01.2011
Сообщений: 9
По умолчанию

На самом деле проблема была в классе окна. Класс Chrome_WidgetWin_0 это непонятное белое поле хрома, а не открытая его страница. Спасибо всем за помощь.
nury вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сайт по центру окна браузера imbamarik HTML и CSS 1 31.03.2011 02:24
Уменьшение размера видео, при уменьшении окна браузера Kasper1 JavaScript, Ajax 1 09.03.2011 09:46
Получить разрешение открытого окна браузера Kasper1 JavaScript, Ajax 8 24.02.2011 00:00
как растянуть див на всю высоту клиентской части окна браузера Anopsa - Anna HTML и CSS 3 21.09.2009 10:07
Как закрепить картинку относительно окна браузера? Svetix HTML и CSS 18 18.04.2009 23:12