• 締切済み

自アプリの終了方法?

単純なところで、つまづいてます。 VC++.Netで、From1を作成しました。 そのフォームに、ボタンを配置しました。 そのボタンのクリックで、フォーム、つまり自分自身を終了させたいのですが、プログラムコーディングがわかりません。 フォームの「×」ボタンと同じ事をさせたいのです。 「Close」でいいとは思うのですが、「Close」の左に記述するステートメントとが分かりません。 すみませんが、教えてください。

みんなの回答

回答No.2

ANo.1です。 何がいけないのだろう。 今、試しに、VISTA .NET2005 MFC フォームビュー で、ボタンを貼り付けて、試したところ、アプリは閉じました。 試していませんが、XP .NET2003でもいけるはずです。 もし、MFC&フォームビューなら、大して時間はかからないと思うので、新しくアプリを作って、閉じるかどうか、試してみてください。 ダイアログベースなら、 OnCancel(); か OnOK(); です。

sanni
質問者

お礼

御返答ありがとうございます。 確かにウインドウ自体は閉じるのですが、タスクマネージャーにプロセスが残ってしまうんです。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

フォームビューですね。 AfxGetMainWnd()->SendMessage(WM_CLOSE); で、閉じませんでしたっけ。

sanni
質問者

お礼

回答ありがとうございます。 ボタンのクリックイベントに AfxGetMainWnd()->SendMessage(WM_CLOSE); とだけコーディングして実行したところ 「'System.Runtime.InteropServices.SEHException' のハンドルされていない例外が sample3.exe で発生しました。」 と表示されてしまいました。

sanni
質問者

補足

御返答ありがとうございます。 確かにウインドウ自体は閉じるのですが、タスクマネージャーにプロセスが残ってしまうんです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAでアプリを終了させるプログラムは?

    ちわっす。 エクセルVBAを用いて勤怠管理表を開発しております。 現在、ユーザーフォームに「終了」ボタンを配置し、それをクリックしてアプリを終了させようとしているのですがうまくいきません。 終了するのはブックまでで、肝心のアプリが終了してくれなくて悩んでおります。 VBAでアプリを終了させるスクリプトをご存知の方がいたらご教授願います。 ちなみに、終了部分は以下のように記述しております。 ActiveWorkbook.close てか、これだとbookって書いてあるんでブックまでしか終了できないですね・・・・・・(´∀`;)

  • VC++のコーディングについて

    VC++初心者です。 VC++のWindowsフォームアプリケーションを使用してテストプログラムを作ってみようと思っています。 初歩的な質問ですみません。 VC++でWindowsフォームアプリケーションを作成する場合、 フォームのヘッダーファイル(Form.h)にコーディングしていくものなのでしょうか? ボタンクリック処理など、ヘッダーファイルに作成されてしまいます。 私の先入観で、cppファイルにコーディングするものだと思っていたのですが、 VC++のWindowsフォームアプリケーションとは、こういうものでしょうか? ヘッダーファイルにコーディングするという感覚が何だか気持ち悪いです。 また、VC++を使用してWindowsアプリケーションを作る勉強がしたいのですが、 「初心者でも分かる+オススメの参考書籍」がありましたら、教えていただけると幸いです。 基本的な質問で意味不明かもしれませんが、ご回答いただけると助かります。 よろしくお願いします。

  • VC++.netで、フォーム上のある部分をクリックしたらイベントが発生

    VC++.netで、フォーム上のある部分をクリックしたらイベントが発生する プログラムを作りたいのですが、どうもうまく製作できません。 ボタンをつかえば出来るのですが、ボタンは配置したくありません。 フォーム上にイラストを配置する為。 開発環境は、VC++のExpressEditionです。MFCは使えません。 初心者なのですが、よろしくお願いします。

  • 終了時の画面のちらつきについて

    環境:VC6(MFC)+WinXP CFormViewのOnInitialUpdate()の中で、モーダルダイアログを表示し、 条件が違ったら、プログラムを終了されたいのですが、終了は 出来るのですが、元のフォームが一瞬表示されてしまいます。 表示しないようにできないのでしょうか? (記述場所がいけない?) よろしくお願いします。

  • 【VC++2005(CLR)】フォームを拡大後、ボタンなどを均等に配置するには?

    VC++初心者です。 現在、VC++2005 express edition、CLRプロジェクトでコーディングしております。 現在フォームを拡大すると、拡大前と同じ場所にボタンや ラベルが配置されています。 (拡大後、右隅にラベル、ボタンが配置されます。) これをフォーム拡大と同時に、拡大後のフォームに拡大前と同じ間隔の 比率でボタンやラベルを均等配置するにはどうしたらよろしいでしょうか? これに付随して、フォームをある大きさまで縮小させたくありません。 それを実現するにはどうしたら宜しいでしょうか。

  • デザイナ画面を閉じずに計算を終了させる方法について

    環境は、WindowsXP SP2 Visual Studio 2005、VC++、CLRです。 初心者です。 デザイナ画面にいくつか入力欄(textBox)を作成し、ボタンを押して、ある計算を行うというプログラムを作っています。 そこで、条件によって処理を中断なり終了させたいとき、forループを抜け出すならbreak、終了させるならexit(0)というような記述があると思うのですが、exit(0)とすると、デザイナ画面も消えてしまうため、また最初から入力欄に記入する必要があり、面倒です。 デザイナ画面を閉じずに、計算を終了させる記述は何かあるのでしょうか? 調べてもよく分からなかったため、ここで質問させていただきます。 よろしくお願いします。

  • windowsフォームアプリケーションについて

    windowsフォームアプリケーションについて 現在VC++のwindowsフォームアプリケーションを使ってマウスのみで作業ができる環境を作ろうとしてます。 その際に他のプログラムで作成した実行ファイルを外部アプリケーションとして system("C:\\~~\\--.exe") で表示させることに成功しました。 しかしこの実行ファイル(VC++で作成)はwhileループを用いているため途中で終了させることはできない仕組みになっています。 そこでこのwhileループを用いた実行ファイルをwindowsフォームアプリケーションのボタンクリックしたら終了するようなプログラムを作成したいのですがネットなどで調べてもコマンドが分からずに困っています。 アドバイスいただける方よろしくお願いします。

  • アプリの強制終了について?

    お尋ねします。 XPを使っていると、たまにこんなエラーボックスが出ます。 「プログラムの終了  ****」 このプログラムは応答していません  Winに戻ってプログラムの状態を確認するにはキャンセルをクリックしてください。  プログラムをここで終了した場合は、保存されていないデータが失われる可能性があります。  プログラムを直ちに終了するにはすぐに終了をクリックしてください。 この前は、アウトルックエキスプレスでメール作成中。ニンジャ2002でHPデータの更新中にも出ました。 キャンセルしても最小&閉じるボタンしか使えず、泣く泣く書きかけのデータをあきらめました。 タスクマネージャーを見ても「応答なし」の表示。 いきなりの強制終了って感じです。 これって悪評だった前Winの「不正な操作を行ったため・・」と同じ?(単純に丁寧な表現にしただけ?) XPプリインストール・98UP、2台ともおきます。 1.1Gと750MHz、メモリーは両方512Mです。 どんな条件でおきるのでしょう?(いつも突然来ます) あらかじめ回避できる設定・条件はありますか? 応答してないアプリのデータはセーブでき・・ませんよね?

  • プログラムを終了しても消えない変数

    VBAを使っていて ユーザーフォーム上にボタンを二つ配置します。 ボタン1を押すとsub 1が実行されます。 このプログラムで出力された変数を ボタン2で実行するsub 2で使いたいのですが どうすれば良いですか? sub 1の中でcall subを使ってプログラム2を呼び出すということはしたくないのですが このsub を終了しても変数が消えないようにするには ワークシートのセルに代入するか ユーザーフォームのテキストボックスなどに代入するしかないでしょうか? この変数を外に出さずに隠さずに保存しておき 次のsub で使いたいのですが 何か良い方法はないでしょうか?

  • VB(6.0)上でファンクションキーを押下出来ない

    VB(6.0)を使用して開発されたプログラムを改定しています。 画面上にボタンが配置されファンクションキーをF1~F12まで 割り当てています。 その中であるFoamだけF3,F5を押下するとプログラムが 強制終了されてしまいます。 マウスでクリックすると問題なく処理されます。 また別の画面ではF1~F12まで問題なく押下出来ます。 原因が分かりません。コーディングで対応出来るものでしょうか。 ご指導よろしくお願いいたします。