Реально ли организовать автоклик - C (СИ)
Формулировка задачи:
Вообщем-то интересует данный вопрос. Хотелось для собственного развития написать нечто подобное, но реализации именно на языке Си я не нашел. Поэтому возникает вопрос. Можно ли?
Решение задачи: «Реально ли организовать автоклик»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <windows.h> #define OBLAST 50 // в какой области искать буквы #define PAUSE 10 HDC hdc; long int XPos,YPos,i=0,j; COLORREF ColorPix; POINT p; // структура для координат void Click() { mouse_event (MOUSEEVENTF_LEFTDOWN,0,0,0,0); mouse_event (MOUSEEVENTF_LEFTUP,0,0,0,0); Sleep(PAUSE); mouse_event (MOUSEEVENTF_LEFTDOWN,0,0,0,0); mouse_event (MOUSEEVENTF_LEFTUP,0,0,0,0); Sleep(PAUSE); mouse_event (MOUSEEVENTF_LEFTDOWN,0,0,0,0); mouse_event (MOUSEEVENTF_LEFTUP,0,0,0,0); Sleep(PAUSE); return; } int main() { printf("*** ANTI ZERG ***\n"); Sleep(2000); hdc=GetDC(NULL); // дескриптор рабочего стола while (1){ start: // метка для возврата после клика // определяем координаты курсора GetCursorPos(&p); XPos=p.x,YPos=p.y; // определяем цвет под курсором ColorPix=GetPixel(hdc,XPos,YPos); // ищем радом стоящий пиксель буквы и перемещаем туда курсор for (i=0; i<OBLAST;i++ ) { // ищем ВВЕРХ ColorPix=GetPixel(hdc,XPos,YPos-i); if (GetRValue(ColorPix)>160 && GetGValue(ColorPix)<200 && GetBValue(ColorPix)<150) { SetCursorPos(XPos,YPos-i); Click(); goto start; } // ищем ВНИЗ ColorPix=GetPixel(hdc,XPos,YPos+i); if (GetRValue(ColorPix)>160 && GetGValue(ColorPix)<200 && GetBValue(ColorPix)<150) { SetCursorPos(XPos,YPos+i); Click(); goto start; } // ищем ВЛЕВО ColorPix=GetPixel(hdc,XPos-i,YPos); if (GetRValue(ColorPix)>160 && GetGValue(ColorPix)<200 && GetBValue(ColorPix)<150) { SetCursorPos(XPos-i,YPos); Click(); goto start; } // ищем ВПРАВО ColorPix=GetPixel(hdc,XPos+i,YPos); if (GetRValue(ColorPix)>160 && GetGValue(ColorPix)<200 && GetBValue(ColorPix)<150) { SetCursorPos(XPos+i,YPos); Click(); goto start; } } Sleep(PAUSE); } return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д