×ボタンで消すとプロセスが残る不具合

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ryo-w

×ボタンで消すとプロセスが残る不具合

#1

投稿記事 by ryo-w » 16年前

はじめまして、ryo-wです。
こちらのホームページにはとてもお世話になっております。

Borlandを使ってゲームを作っているのですが、
実行したゲームを右端の×ボタンでプログラムを終了させようとすると、
ウィンドウが外見上消えてもプロセスがそのまま残ってしまい、
その度にタスクマネージャからプロセスを削除しなければならない不具合が発生しています。

メインループ内で×ボタンを押すとメインループからいつまでたっても抜けられず、プロセスが残ってしまうようです。
メインループからbreakで脱出してプログラムを終了すれば、プロセスは消去され問題はないのですが。。

OSはXPです。解決方法をご存知の方がいらっしゃいましたらご教授願います。

管理人

Re:×ボタンで消すとプロセスが残る不具合

#2

投稿記事 by 管理人 » 16年前

×ボタンで消えないように設定すればどうでしょう?
ウィンドウスタイルを変更してボタンを表示しなくしたり。

管理人

Re:×ボタンで消すとプロセスが残る不具合

#3

投稿記事 by 管理人 » 16年前

そういえばこれは非公開関数でした・・。

初期化する前に

SetWindowUserCloseEnableFlag(FALSE);

を呼べば×ボタンで消せなくなります。

SetWindowStyleMode(int);

関数を呼べばウィンドウスタイルが変更出来ます。

0,1,2,3・・・など数を変えて実行してみてどうなるか確認してみて下さい。
 

tk-xleader

Re:×ボタンで消すとプロセスが残る不具合

#4

投稿記事 by tk-xleader » 16年前

Dxライブラリの終了関数を呼んでから、標準ライブラリのexitを呼ぶというのはどうでしょうか?
if(ProcessMessage()==-1){
      DxLib_End();
      exit(0);
}
のように。これだとWinMain以外の関数から終了できます。

閉鎖

“C言語何でも質問掲示板” へ戻る