Environment:
Visual Studio 2019
Windows 10

前言

最近在學DirectX 12的途中接觸到了一些簡單的Windows編程。按照書上的代碼輸入後,發現有很多語法或者接口並不理解,如WNDCLASSWINAPI。因此在學習DirectX 12的同時,也開始了Windows編程的學習。所以在這裏記錄一下所學習到的知識以及一些想法。

設置

如果要編寫具有視窗的程序,那麼就需要將程序系統改成Windows而非Console。可以按照下圖修改。
修改程序系統
也可以在創建專案時選擇
選擇模板
設置為桌面應用程序

WinMain

在Windows編程中,WinMain相當於main函數,作為Entry Point。而Windows.h則是包含了基本上所有的API。

1
2
3
4
5
#include <Windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE prevInstance, LPSTR cmdLine, int nCmdShow) {
// do something
}

前書き

最近ではDirectX 12を勉強しています。画面を表示するため、まずはウィンドを作らなければなりません。そのため、Windowsプログラミングを始めました。しかし、WNDCLASSWINAPIなど、色んなキーワードが分かりませんでした。それを理解するため、DirectX 12を勉強しながら、Windowsプログラミングを勉強してきています。ここで勉強したものや自分の考えを書きたいです。

設置

Windowsプログラミングを始めるため、ConsoleからWindowsのアプリケーションを変更します。
コンソールからWindowsに
また、最初からデスクトッププロジェクトを選択することができます。
デスクトップウィザード
デスクトップアプリケーション

WinMain

WinMainmainに相当し、Entry Pointとして働いています。Windows.hはほとんどのWindows APIを含みます。

1
2
3
4
5
#include <Windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE prevInstance, LPSTR cmdLine, int nCmdShow) {
// do something
}

Reference