1

そこで、「ガンズ」というゲームからマウス位置のピクセルカラーを取得しようとしています...

私の知る限り、Gunz は DirectX で動作します。

GDIを使用してウィンドウモードで動作させようとしたところ、ピクセルの色が得られました。

しかし、全画面表示の DirectX を使用すると、白しか表示されません。例:

赤: 255

緑: 255

青:255


これが私のコードです-

#include <stdlib.h>
#include <stdio.h>
#include <windows.h>


int main(int argc, char** argv)
{

FARPROC pGetPixel;

HINSTANCE _hGDI = LoadLibrary("gdi32.dll");


while(1) {

if(_hGDI){
    pGetPixel = GetProcAddress(_hGDI, "GetPixel");
    HDC _hdc = GetDC(NULL);


if(_hdc){
    POINT _cursor;
    GetCursorPos(&_cursor);
    COLORREF _color = (*pGetPixel) (_hdc, _cursor.x, _cursor.y);
    int _red = GetRValue(_color);
    int _green = GetGValue(_color);
    int _blue = GetBValue(_color);

    printf("Cursor Pos: X: %d, Y: %d.\n", _cursor.x, _cursor.y);
    printf("Red: %d\n", _red);
    printf("Green: %d\n", _green);
    printf("Blue: %d\n", _blue);
    }
}
Sleep(1000);
}

FreeLibrary(_hGDI);

return 0;

}
4

0 に答える 0