-1

コンソールから文字を読み取り、ドットで区切られた方法でファイルに保存する単純な CPP プログラムを実行しています...

 #include<stdio.h>
 #include<conio.h>
 #include<iostream.h>
 #include<fstream.h>

 void main()
 {
           char content[2] = {'a','.'};
           ofstream o("filename",ios::out|ios::app);
           while(1)
           {
                   if(content[0]=='q')
                   {
                         break;
                   }
                   content = getche();
                   out<<content;
           }
           out.close();  
  }          

今、私はこのプログラムをバックグラウンドプロセスとしてタスクマネージャーでのみ表示し、ユーザーには表示されないようにしたいです(cmdを使用して実行しています)...

最小優先度のstart コマンドを使用しています。しかし、役に立たない。同様の質問のいくつかは、私にとって役に立ちませんでした。そのため、このプログラムをバックグラウンド プロセスとして実行する apt コマンドを提供してください。

4

2 に答える 2

1

プログラムにコンソールをまったく生成させたくないということですか? その場合、メイン関数を次のように変更する必要があります。

int main()

に:

#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
    LPSTR lpCmdLine, int nShowCmd)

この新しい main 関数を使用すると、プログラムの開始時にコンソールが生成されなくなります。

プログラムの開始時にコンソールを生成し、途中で閉じたい場合は、コンソール用の GUI を自分で作成する必要があります。FLTKを GUI ライブラリとしてお勧めします。より高度な GUI にはそれほど適していませんが、単純なコンソールがあれば十分です。

于 2012-12-19T16:15:13.910 に答える
0

nsExecプラグインを使用して exe を実行してみてください。このアプリケーション内で実行すると、コンソール ウィンドウが表示されません。

別の解決策は、プログラムをアプリケーションとしてではなく、Windows サービスとして実行することです。

于 2012-12-19T16:13:54.163 に答える