Получить дескриптор окна приложения SDL 2

Я хотел бы получить дескриптор окна SDL2, чтобы использовать его с WinApi.

Я получаю этот дескриптор с помощью следующего кода:

/* All the SDL initalisation... */
SDL_Window* window = SDL_CreateWindow("My Window", SDL_WINDOWPOS_UNDEFINED,
                        SDL_WINDOWPOS_UNDEFINED, RESX, RESY, SDL_WINDOW_SHOWN);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
if (window == NULL || renderer == NULL) {
    MessageBox(NULL, L"SDL initialisation error", NULL, MB_OK);
    exit(-1);
}

SDL_SysWMinfo wmInfo;
SDL_GetWindowWMInfo(window, &wmInfo);
HWND hwnd = wmInfo.info.win.window;

Но на данный момент hwnd адрес 0xcccccccc (не используется).

Я сделал что-то неправильно?


person Antoine C.    schedule 09.06.2014    source источник
comment
Добавьте SDL_VERSION(&wmInfo.version); перед вызовом SDL_GetWindowWMInfo.   -  person keltar    schedule 09.06.2014


Ответы (1)


На странице SDL Wiki в разделе примечаний сказано, что info.version необходимо инициализировать перед использованием. Пример кода предлагает использовать SDL_VERSION(&info.version); перед запросом информации WM.

SDL_SysWMinfo wmInfo;
SDL_VERSION(&wmInfo.version);
SDL_GetWindowWMInfo(window, &wmInfo);
HWND hwnd = wmInfo.info.win.window;
person keltar    schedule 09.06.2014