1. Теперь за форумную активность начисляются биткоины и другие криптоденьги. Подробнее.
    Скрыть объявление
  2. Появилась архивная версия форума arhiv.xaker.name, где собраны темы с 2007 по 2012 год.
    Скрыть объявление

Поиск пикселей

Тема в разделе "C/C++", создана пользователем JIeprekon1467, 20 авг 2012.

  1. JIeprekon1467
    JIeprekon1467 Новичок
    Симпатии:
    0
    Здравствуйте, подскажите, как реализовать на c++ или c# следующее:
    В активном окне есть картинка,в коде заложены определенные цвета, если мышка передвигается на данный цвет, то нажимается левая кнопка мыши до тех пор пока мышка не будет убрана с этого цвета? И на каком из языков данный поиск будет самым быстрым?
     
    20 авг 2012
  2. Mr.Burns
    Mr.Burns местная мразь Продвинутый
    Симпатии:
    65
    если по-быстрому и быдлокодом, то как-то так. реагирует на красный.
    Код:
    void main()
    {
    	UINT_PTR IDTimer=0;
    	IDTimer=SetTimer(NULL, NULL, 1, NULL);
    
    	BOOL bRet=0;
    
    	MSG msg;
    	while((bRet=GetMessage(&msg,NULL,0,0))!=0)
    	{
    		switch (msg.message)
    		{
    			case WM_TIMER:
    			{
    				POINT pt;
    				GetCursorPos(&pt);
    
    				HWND hActive=GetForegroundWindow();
    
    				RECT rctActive;
    				GetWindowRect(hActive,&rctActive);
    				if(pt.x<rctActive.left || pt.y<rctActive.top || pt.x>rctActive.right || pt.y>rctActive.bottom) break;
    
    
    				HWND hChld=WindowFromPoint(pt);
    				RECT rctChld;
    				GetWindowRect(hChld,&rctChld);
    
    				HDC hDC=GetDC(0);
    				COLORREF hClr=GetPixel(hDC,pt.x,pt.y);
    
    				if(hClr==RGB(255,0,0))
    				{
    					SendMessage(hChld,WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(pt.x-rctChld.left,pt.y-rctChld.top));
    					SendMessage(hChld,WM_LBUTTONUP,0,MAKELONG(pt.x-rctChld.left,pt.y-rctChld.top));
    				}
    
    				DeleteDC(hDC);
    				break;
    			}
    		}
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    
    	KillTimer(NULL,IDTimer);
    	ExitProcess(0);
    }
     
    20 авг 2012
  3. JIeprekon1467
    JIeprekon1467 Новичок
    Симпатии:
    0
    Mr.Burns, спасибо.
     
    20 авг 2012

Поделиться этой страницей

Загрузка...