1.创建空项目并配置项目:
1.打开VS2022,创建C++项目中的空项目
2.新建一个Main.cpp文件
3.配置项目
将属性页的C/C++项中的语言栏的符合模式设置为否
再将链接器中的系统栏的子系统设置为窗口
设置完成!
2.创建一个Windows窗口:
代码:
#include <windows.h>// 窗口过程函数,处理窗口消息
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {switch (msg) {case WM_DESTROY:// 当接收到 WM_DESTROY 消息时,请求退出应用程序PostQuitMessage(0);return 0;default:// 对于其他未处理的消息,调用默认的窗口过程函数进行处理return DefWindowProc(hwnd, msg, wParam, lParam);}
}// 主函数,程序的入口点
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {// 定义窗口类名称static TCHAR szAppName[] = TEXT("MyWindowClass");WNDCLASS wc = {};// 设置窗口类的属性wc.style = CS_HREDRAW | CS_VREDRAW; // 窗口大小改变时重绘wc.lpfnWndProc = WndProc; // 指定窗口过程函数wc.cbClsExtra = 0; // 额外的类信息wc.cbWndExtra = 0; // 额外的窗口信息wc.hInstance = hInstance; // 当前应用程序的实例句柄wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 加载默认应用程序图标wc.hCursor = LoadCursor(NULL, IDC_ARROW); // 加载默认鼠标指针wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 设置窗口背景为白色wc.lpszMenuName = NULL; // 不使用菜单wc.lpszClassName = szAppName; // 设置窗口类名称// 注册窗口类if (!RegisterClass(&wc)) {MessageBox(NULL, TEXT("This program requires Windows NT!"), szAppName, MB_ICONERROR);return 0;}// 创建窗口HWND hwnd = CreateWindow(szAppName, // 窗口类名称TEXT("My First Window"), // 窗口标题WS_OVERLAPPEDWINDOW, // 窗口样式CW_USEDEFAULT, // 默认的水平位置CW_USEDEFAULT, // 默认的垂直位置800, // 窗口宽度600, // 窗口高度NULL, // 父窗口句柄NULL, // 菜单句柄hInstance, // 当前应用程序的实例句柄NULL); // 额外的创建参数// 显示窗口ShowWindow(hwnd, iCmdShow);// 更新窗口UpdateWindow(hwnd);// 消息循环MSG msg;while (GetMessage(&msg, NULL, 0, 0)) {// 翻译虚拟键消息TranslateMessage(&msg);// 将消息分发给窗口过程函数处理DispatchMessage(&msg);}// 返回退出代码return msg.wParam;
}
结果:
3.初始化DirectX12:
未完待续。。。
参考链接:
VS2019配置DirectX12编程环境 - 哔哩哔哩 (bilibili.com)