- 締切済み
実行時のコマンドプロンプトを非表示 Visual C++
<質問内容> プログラム実行時に自動で起動するコマンドプロンプトを表示させたくないのですが方法をご存知でしょうか? 最小化ではなく非表示にしたいと考えています。 このアプリケーション終了するには、タスクマネージャのプロセスからしか消せないようにする目的です。 (不意にアプリを落としてしまうことを避けるため) <環境> Windows 2000 Microsoft Visual C++ 6.0
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Oh-Orange
- ベストアンサー率63% (854/1345)
回答No.1
★なぜ? ・ウインドウを出したくないなら WinMain() から始めれば良い。 なぜコマンド・プロンプトで動くアプリを作成しているのですか? コンソール・アプリケーションで作るとコンソール・ウインドウが 自動的に作成されます。起動後に非表示にするには何らかの方法で ウインドウのハンドルを取得します。 取得方法は (1)SetConsoleTitle()関数で一意の『タイトル文字列』を設定 (2)Sleep()関数で100msほどウェイトを入れる (3)FindWIndow()関数で(1)で設定した『タイトル文字列』を取得 (4)(3)で得たウインドウ・ハンドルを使って非表示(ShowWindow使用) これでコンソール・アプリケーションを起動時に非表示に出来ます。 でも、あまりスマートではないです。起動時に一瞬表示されたり…。 このため最初から WinMain() の GUI アプリケーションで作成することを お勧めします。常駐ソフトならこの方法が一般ですから。 ※設計を見直すべし。
お礼
Oh-Orangeさんありがとうございます。 単純にWinMain()関数を知りませんでした。 調べて見ます。