アイコンのロード
構文 HICON LoadIcon(hinst, lpszIcon);
引数説明 HINSTANCE hinst:アプリケーション インスタンスのハンドル
LPCTSTR lpszIcon:アイコン リソース名文字列、 またはアイコン 識別子
戻り値 正常に終了した場合は、ロードされたアイコンのハンドルを返します。
失敗した場合はNULLを返します。
定義済みアイコン識別子
IDI_APPLICATION デフォルトのアプリケーション アイコン
IDI_ASTERISK アスタリスク (情報を提供するメッセージで使われます)
IDI_EXCLAMATION 感嘆符 (警告メッセージで使われます)
IDI_HAND 手の形のアイコン (重大な警告メッセージで使われます)
IDI_QUESTION 疑問符 (応答を要求するメッセージで使われます)

定義済みアイコンをロードするときは、 hinstパラメータにNULLを指定する。
<例>
HICON icon=LoadIcon(HInstance,"ICON2");//ロードするアイコン リソースの名前を使う場合
HICON icon=LoadIcon(NULL,IDI_QUESTION);//Windowsの定義済みアイコンを使う場合

//読み込んだアイコンを指定ウインドウに描画(アイコンサイズ 32×32) 
HDC hdc=GetDC(hwnd);//ウインドウのHDC(デバイスコンテキスト)を取得する。
DrawIcon(hdc, 0, 0, icon);
又は
DrawIconEx(hdc,0,0,icon,16,16,0,NULL,DI_NORMAL);//この場合32×32のアイコンが16×16のサイズに縮小されて描画されるのでアイコンが汚くなります。
備考
HInstance 変数は Windows 環境が提供する,
アプリケーションまたはライブラリのインスタンスハンドルを保持しています。

LoadIconは(32×32)のアイコン専用になっている。
16×16のアイコンを読み込むと32×32に拡大してしまうので、代わりにLoadImageを使います。