-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 回答