2

プロセスをプログラムでバックグラウンドにするにはどうすればよいですか?

私が望むのは、ユーザーがプロセスの実行可能ファイルをダブルクリックすることです。それはバックグラウンドに入り、実行中にウィンドウを開きません。

Visual C++ のコード スニペットは非常に役立ちます

4

4 に答える 4

3

代わりにWindows サービスを作成することを検討しましたか? これらは、UI を表示せずにバックグラウンドで実行するように特別に設計されています。

それ以外の場合は、ウィンドウなしでアプリケーションを作成してください。

于 2010-12-27T11:27:10.780 に答える
1

これが古いことは知っていますが、人々が検索でこれを見つけたときに何かを投稿しようと思いました.

Cody Gray の設計の正確さに対する回答は気に入っていますが、選択の余地がない場合もあります。

新しいウィンドウにジャンプせずにプログラムを起動したい場合 (バックグラウンドに表示されるか最小化されている場合)、またはウィンドウをまったく作成しない場合は、関数ShellExecuteShellExecuteEx関数を調べてみてください。引数nShowCmd(またはnShow) は、(とりわけ) オプションを提供します。

SW_HIDE

ウィンドウを非表示にして、別のウィンドウをアクティブにします。

SW_SHOWMINNOACTIVE

ウィンドウを最小化されたウィンドウとして表示します。アクティブなウィンドウはアクティブなままです。

ドキュメントにあるように、SW_HIDEは、指定した実行可能ファイルを実行するプロセスを作成しますが、このプログラムが通常ウィンドウを作成する場合、何も表示されません。

于 2012-05-09T19:54:30.750 に答える
1

これが役立つかもしれません: http://ss64.com/nt/start.html

于 2010-12-27T03:32:47.667 に答える
0

私はこの方法を試してみましたが、うまくいきました: コンソール アプリケーションを作成し、他のコンソール アプリケーションと同じようにサブ メインにコードを記述します。プロジェクト プロパティのアプリケーション タイプをコンソール アプリケーションから Windows フォーム アプリケーションに変更します。

于 2016-07-18T09:38:59.453 に答える