Получить Pixel Color самый быстрый способ?
Я пытаюсь создать автокликер для приложения для Windows. Это работает хорошо, но невероятно медленно! Я в настоящее время использую метод "getPixel" который перезагружает массив каждый раз, когда он вызывается.
Вот мой текущий код:
<code>hdc = GetDC(HWND_DESKTOP); bx = GetSystemMetrics(SM_CXSCREEN); by = GetSystemMetrics(SM_CYSCREEN); start_bx = (bx/2) - (MAX_WIDTH/2); start_by = (by/2) - (MAX_HEIGHT/2); end_bx = (bx/2) + (MAX_WIDTH/2); end_by = (by/2) + (MAX_HEIGHT/2); for(y=start_by; y<end_by; y+=10) { for(x=start_bx; x<end_bx; x+=10) { pixel = GetPixel(*hdc, x, y); if(pixel==RGB(255, 0, 0)) { SetCursorPos(x,y); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); Sleep(50); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); Sleep(25); } } } </code>
Так что, в основном, он просто сканирует диапазон пикселей на экране и запускает событие мыши, если обнаруживает красную кнопку.
Я знаю, что есть и другие способы получить цвет пикселя, например, bitblt. Но я провел некоторые исследования, и я не понимаю, как я должен это делать, чтобы сканировать массив цветов. Мне нужно что-то, что сканирует экран очень быстро, чтобы поймать кнопку.
Не могли бы вы мне помочь?
Благодарю.