ページ 11

無題

Posted: 2009年8月23日(日) 02:01
by
また質問させてください。

プログラムを作ってコンパイルすると
拡張子がexeになって作成されますよね?

それを実行するとコマンドプロントになります。
でも右上の×ボタンを押すとプログラムが終了してウィンドウを
閉じます。

それをさせずに
最後まで実行しないと
プログラムを消せないようにするにはどうすればいいのでしょう?

Re:無題

Posted: 2009年8月23日(日) 11:46
by Justy
[color=#d0b0c0" face="monospace]
>最後まで実行しないとプログラムを消せないようにするにはどうすればいいのでしょう
[/color]

 Xボタンだけであれば
[color=#d0d0ff" face="monospace]
const char * consoleName = "hogehoge";
SetConsoleTitle(consoleName);
Sleep(50);

HWND hWnd = FindWindowA(NULL, consoleName);
if(hWnd)
{
HMENU hMenu = GetSystemMenu(hWnd, FALSE);
RemoveMenu(hMenu, SC_CLOSE, MF_BYCOMMAND);
}
else
{
// printf("%s\n", "失敗");
}
[/color]

なかんじで閉じるボタンを無効にできます。

 ついでに Ctrl + Cも無効にしたいのなら
[color=#d0d0ff" face="monospace]
SetConsoleCtrlHandler(NULL , TRUE);
[/color]

 も追加してみて下さい。