松尾です。 1 クローズ時に隠す WM_CLOSEを受けたらウィンドウを隠す。 (でもALT+F4だとWM_CLOSEが発生しないかも) DestroyWindow()を行うと ウィンドウが消えてから WM_DESTROYが発生するはずなんだけど・・ --- a/teraterm/keycode/keycode.c +++ b/teraterm/keycode/keycode.c @@ -258,6 +258,13 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, case WM_DPICHANGED: OnDpiChanged(hWnd, wParam, lParam); break; +#if 1 + case WM_CLOSE: { + ShowWindow(hWnd, SW_HIDE); + DestroyWindow(hWnd); + break; + } +#endif default: return (DefWindowProc(hWnd, msg, wParam, lParam)); } 2 OnDpiChanged() の TTSetIcon() をコメント 隠す処理より前にアイコンがデフォルトに戻るのは 別のところで TTSetIcon() が発生してる? ウィンドウが閉じる前にWM_DPICHANGEDを受けるのかもしれない。 閉じるつもりになっているのでアイコンはセットされず デフォルトになっている? デフォルトアイコンになるというのは発生しそうな気がします。 > ttssh2-dev 440 で > 書いたように、この部分は開放しないようにするのはどうでしょうか。 解放しない方針で進めましょう。