コンソール プログラムを非表示にしてバックグラウンドで動作させるにはどうすればよいですか? つまり、プログラムを見たいわけではありませんが、タスク マネージャーで実行されているのを見たいのです。
ありがとう。
コンソール プログラムを非表示にしてバックグラウンドで動作させるにはどうすればよいですか? つまり、プログラムを見たいわけではありませんが、タスク マネージャーで実行されているのを見たいのです。
ありがとう。
Windows と .NET の場合:
出力タイプを「Windows アプリケーション」に設定すると、コンソール ウィンドウが開きません。
または、Windows サービスを作成することもできます...
または、システム トレイに移動するものを作成することもできます。これにより、タスク マネージャーに移動する代わりに、システム トレイから直接 Kill Process を追加することもできます。.NET では、次を使用しました: http://www.developer.com/net/csharp/article.php/3336751
これにはいくつかの利点があります。
Windows ではShowWindow(FindWindowA("ConsoleWindowClass", NULL), false)
、コンソール ウィンドウを非表示にするために使用します。バックグラウンドで引き続き実行され、タスクバーには表示されません。
Taskmgr.exe
ただし、それを見つけてシャットダウンするには、タスク マネージャーなどを実行する必要があります。
#include <windows.h>
#include <iostream>
using namespace std;
int main () {
ShowWindow(FindWindowA("ConsoleWindowClass", NULL), false);
while(true) {
// Do your hidden stuff here
}
return 0;
}
MS Windows XP 環境の場合:
私の提案は、あなたが求めていることを実行するためにWindowsサービスを作成することを検討することですが、別の可能性は、msconfig内で何かを設定して、起動時にプログラムを実行するか、「スタート->すべてのプログラム->スタートアップ」内のスタートアップグループでプログラムを実行することです. " セクション。
Mac、Linux、またはその他の O/S を使用している場合、バックグラウンドでプログラムを実行する場所として機能する同様の機能が存在する場合があります。
Windowsを使用している場合は、試してください
start command.exe
*nix を使用している場合
nohup command
コンソール アプリケーションを変更してウィンドウレス アプリケーションにすることができないと仮定すると、コンソール プログラムを起動し、すべての標準入出力ストリームを「ダミー」ストリームにリダイレクトするウィンドウレス アプリケーションを作成できます。