4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

visual studio 2017 C++ コンソールアプリケーション 閉じるボタン 無効

Last updated at Posted at 2019-03-26

#目的
センサのライブラリがC++にしか対応していないためC++にてコンソールアプリケーションを作成した。データ取得中に間違ってアプリケーションを消さないように。閉じるボタンを無効にしたい。

vb.netやc#はあるけどC++は見つからなかったのでここで★

#環境
Visual Studio 2017
Windows10
c++ コンソールアプリケーション作成

#下記のサイトを参照
http://eternalwindows.jp/windevelop/console/console05.html
#コード

#include "pch.h"
#include <windows.h>

int main()
{
	HMENU hmenu;
	hmenu = GetSystemMenu(GetConsoleWindow(), FALSE);
	RemoveMenu(hmenu, SC_CLOSE, MF_BYCOMMAND);
	system("pause");
}

#覚えたこと
HMENU 型 → ウィンドウのメニューのを持つハンドル
GetSystemMenu → ハンドルのメニューを取得
RemoveMenu → メニューの処理(今回は閉じるを無効)

これ
GetConsoleWindow()
コンソールのハンドルを取得

どうやってもコンソールアプリケーションのハンドルをうまく取得できなかったけど
GetConsoleWindowのおかげで一発解決いたしました。
キャプチャ.JPG

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?