3

こんにちは、Windows で単純な Hello World プログラムを非表示にする (そして実際のプログラムに進む) ことができるかどうかを知りたいです。つまり、プログラムを実行すると、グラフィカルな表示はまったくありません。「Hello world」のコマンド印刷、タスクバーラベル、システムトレイアイコン、何もありません。プログラムを気にせずに静かに実行したい。

それで、私はここで何を考えていますか?それは可能ですか?サービスのようなものでしょうか?何も思いつきません。

C/C++でコーディングしたいと思います。

4

3 に答える 3

3

何らかのタスクを実行するためにユーザーから起動する必要があるアプリケーションである場合、または現在のユーザー セッションにバインドされている非表示のアプリケーションである場合は、ウィンドウを作成せずに GUI アプリケーションを作成します。

代わりに、そのようなアプリケーションがログイン/ログアウトに関係なくバックグラウンドに留まる必要がある場合は、Windows サービスを作成する必要がありますが、サービスですべてを正しく行うには、Windows プログラミングのかなりの経験が必要であることに注意してください。Windows サービスが何であるかわからない場合は、おそらく最初の解決策に固執する必要があります。

于 2012-02-28T19:43:06.873 に答える
1

これをどのように処理するかは、使用している Windows アプリケーションの種類によって異なります。

起動時にプログラムを実行し、シャットダウン時に停止するようにしたい場合は、Windows サービスの記述を追求します。これは実行可能ですが、通常のユーザー モード アプリケーションを記述するほど単純ではありません。サービスのデバッグは、通常のアプリケーションとデバイス ドライバーの中間に位置し、アプリケーションに似ていますが、Microsoft テンプレート フックを使用してデバッグ コントロールを取得する必要があります。

単にサイレント コンソールが必要で、それが Windows アプリケーション (メイン ウィンドウなど) である場合は、最初は表示されないようにウィンドウを作成できます。

コンソール アプリケーションの場合は、コンソールの出力をリダイレクトできるはずです。ウィンドウを閉じるなど、コンソールを操作するための Win32 ライブラリ ルーチンがあるため、アプリケーションは "サイレント モードで" 実行できます。これらの機能へのリンクは次のとおりです。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx

于 2012-02-28T19:49:41.813 に答える
0

はい、サービスにすることができ、コンソールは表示されません。これを実現する方法の詳細については、この MSDN ページを参照してください。

于 2012-02-28T19:38:42.187 に答える