mein code funktioniert einfach nicht.



  • Hallo,

    ich brauche dringend eure hilfe:

    #include <windows.h>    // include the basic windows header file
    #include <stdio.h>
    
    HWND hWnd;
    HDC DC;
    DWORD Color;
    int i, j;
    
    // the entry point for any Windows program
    int WINAPI WinMain(HINSTANCE hInstance,
    	HINSTANCE hPrevInstance,
    	LPSTR lpCmdLine,
    	int nShowCmd)
    {
    	hWnd = GetDesktopWindow();
    	DC = GetWindowDC(hWnd);
    
    	while (1)
    	{
    		DC = GetWindowDC(hWnd);
    
    		if (GetAsyncKeyState(VK_END))
    		{
    			ExitProcess(0);
    		}
    
    		for (j = 767; j < 665; j++)
    		{
    			for (i = 1032; i < 417; i++)
    			{
    				Color = GetPixel(DC, i, j);
    				switch (Color)
    				{
    				case 0xED1C24:
    					if (GetAsyncKeyState(VK_RBUTTON))
    					{
    						MessageBox(NULL, L"Found", NULL, MB_OK);
    					}
    					break;
    				}
    			}
    		}
    		Sleep(100);
    	}
    }
    

    Habe fast alles versucht es funktioniert einfach nicht. ­čś×

    Was es machen sollte: Er scannt in den Quadrat von(767/665/1032/417) nach der Farbe 0xBB1518 und wenn gefunden ist, gibt er eine Nachricht aus.

    Die Fenstergr├Â├če ist bei mir 1680x1050.

    ich bin sehr dankbar wenn f├╝r jede hilfe.

    bild: http://i.gyazo.com/d470edead8ba2fed06fae6f84264fa89.png



  • Du willst ne Schleife von 767 bis < 665 laufen lassen und wunderst dich dass es nicht geht?



  • Hallo

    Ich glaube du hast noch ein Problem mit dem Verst├Ąndnis der for-Schleife.
    In deinem Code wird keine der schleifen durchlaufen, da der Initialwert gr├Â├čer ist als der Vergleichswert.

    Wenn ich dich richtig verstanden habe, dann m├╝sste die Schleife f├╝r j so aussehen:

    for (int j = 665; j < 767; j++) ...
    

    Die ├Ąnder glaub ich schaffst du dann selber.

    Achtj├Ąhrige und Variblen werden im so lokal wie m├Âglich deklariert, deine z├Ąhlvariablen reichen wenn du diese in der schleifen definierst (siehe mein Beispiel). Und Globale Variablen sind so gut wie nie zu benutzen.

    Mfg Marco



  • Marc-O schrieb:

    Achtj├Ąhrige und Variblen werden im so lokal wie m├Âglich deklariert

    WTF?



  • Och, Schade da├č ich nicht als Erster meinen frechen Kommentar zu

    for (j = 767; j < 665; j++)
            {
                for (i = 1032; i < 417; i++)
    

    posten durfte. ­čśë

    EDIT:
    Man sollte nicht versuchen die Alpen zu klettern wenn man nicht mal das Laufen gelernt hat.


Log in to reply