アフィリエイト広告を利用しています
ファン
検索
<< 2023年10月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
22
23 24 25 26 27 28
29
30 31
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
月別アーカイブ
プロフィール
裏目小僧さんの画像
裏目小僧
日別アーカイブ

広告

posted by fanblog

2023年03月16日

閉じなくなったコンソール

少し前 printfデバッグの為にコンソールを使う話を書きましたが、GUIアプリでAllocConsoleでコンソールを開いてFreeConsoleで閉じようとして奇妙な事に気づきました。32bit時代にはFreeConsoleで閉じていた窓がWin11で閉じなくなったのです。
64bitアプリだけかと思いましたが32bitでも同様の状況。
検証1
FreeConsoleして残ったコンソールを閉じた場合 →GUIアプリはそのままです。

検証2
AllocConsole → FreeConsole → AllocConsole とすると2つ目のコンソールが開きます。
2つ目のコンソールを閉じるとGUIアプリは道連れに終了してしまいますが
1つめのコンソールを閉じてもGUIアプリはそのままです。
どちらも
CloseWindowsは効く
DestroyWindowでは終わらない。(手動では閉じるのでWM_CLOSEは当然有効)

これはこれで便利かもしれません。GUIアプリでデバッグ中に表示して即座にFreeConsoleしておけば
間違って閉じてしまってもアプリが道連れ終了になりませんし、複数の表示内容を複数の窓で確認できるようになりす。

そうすると、前回、コンソールの閉じるボタンを無効化する処理はそのままだと不便になります。
FreeConsoleする時は、閉じるボタンの無効化を戻しておく方が便利に使えます。
それは閉じるボタンの無効のような 面倒なコードは必要なくて
GetSystemMenu(MyConsoleWhd, True);
とするだけです。

他のコンソール関係のコードを確認したい場合は→
Lazarusでコンソールに出力
タグ: Win11
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/11906038
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: