ウインドウの[×]印を押したら終了前の処理をしたい

実現したいこと

VisualStudioのC++でConsoleApplicationを書いています。
ウインドウの[×]ボタンを押したときにも、通常の終了前の時と同じ処理をしたいです。
下記のソースではビープ音を「ミレド」とならしたいです。

発生している問題・分からないこと

C++超初心者の私には、そもそもC++でそのようなことが実現できるのかさえ分かりません。

該当のソースコード

C++

1#include <iostream>2#include <conio.h>3#include <stdio.h>4#include <windows.h>5 6using namespace std;7 8int main()9{10 __try 11 {12 std::cout << "Hello World!\n";13 Beep(440, 200); // ド14 Beep(494, 200); // レ15 Beep(554, 200); // ミ16 printf("[Enter]キーを押すと終了します。");17 while (true)18 {19 int key = 0;20 if (GetAsyncKeyState(13) & 0x0001) {21 break;22 }23 }24 }25 __finally 26 {27 Beep(554, 200); // ミ28 Beep(494, 200); // レ29 Beep(440, 200); // ド30 }31}

試したこと・調べたこと

上記の詳細・結果

キーワードがよくないのか、C++でそのような記事が見つけられませんでした。
__finallyではダメなことは分かりました。

補足

Microsoft Visual Studio Community 2022
Version 17.9.6
VisualStudio.17.Release/17.9.6+34728.123

コメントを投稿

0 コメント