Код, который я использую:
#include <Windows.h>
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
const auto pClassName = "direct3D";
//register window class
WNDCLASSEX wc = { 0 };
wc.cbSize = sizeof(wc);
wc.style = CS_OWNDC;
wc.lpfnWndProc = DefWindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = nullptr;
wc.hCursor = nullptr;
wc.hbrBackground = nullptr;
wc.lpszMenuName = pClassName;
wc.hIconSm = nullptr;
RegisterClassEx(&wc);
//create instance of window
HWND hwnd = CreateWindowEx(
0,
pClassName,
"Direct3D",
WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU,
0, 0, 640, 480,
nullptr, nullptr, hInstance, nullptr
);
ShowWindow(hwnd, SW_SHOW);
//message pump
MSG msg;
int test = GetMessage(&msg, nullptr, 0, 0);
while (GetMessage(&msg, nullptr, 0, 0) > 0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
Ожидаемый результат: простое окно, которое я могу перетаскивать, сворачивать или закрывать.
Ошибки: ошибки не печатаются.Но пошаговое выполнение показывает это для значения hwnd: .Я предполагаю, что это как-то связано с этим.Я просмотрел документы MSDN, относящиеся к этой ошибке, но ничего полезного.Я следую инструкциям по Directx3d на YouTube.