如何让控制台程序消失并在后台运行? 我的意思是,我不想看到该程序,但我希望看到它在任务管理器中运行。
感谢。
答案 0 :(得分:3)
假设Windows和.NET:
您可以将其输出类型设置为“Windows Application”,它不会打开控制台窗口....
或者您可以创建Windows服务...
答案 1 :(得分:2)
您也可以制作一张进入系统托盘的产品。这还允许您直接从系统托盘添加Kill Process,而不是转到任务管理器。在.NET中我使用了以下内容: http://www.developer.com/net/csharp/article.php/3336751
这可能会带来一些好处。
答案 2 :(得分:0)
假设MS Windows XP环境:
我的建议是考虑让Windows Service做你要求的事情,但另一种可能性是在msconfig中设置一些内容以在启动时运行程序或在“Start-”中的启动组中运行程序。 >所有程序 - > StartUp“部分。
如果您使用的是Mac,Linux或其他操作系统,则可能存在类似的功能,可以在后台运行程序。
答案 3 :(得分:0)
如果您使用的是Windows,请尝试
start command.exe
如果您使用的是* nix
nohup command
答案 4 :(得分:0)
假设您无法修改控制台应用程序并使其成为无窗口应用程序,您可以创建一个无窗口应用程序,启动控制台程序并将所有标准输入和输出流重定向到“虚拟”流。
答案 5 :(得分:0)
在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;
}