返回首页

我有一个应用程序*。exe文件,这是一个GUI applicaition。现在我需要把它转换工作作为控制台和图形用户界面,即
如果输入任何命令args是这样的:
:D:\项目\ TestProjects \ TestQtConsole \ Debuggt; TestQtConsole.exe FDSA
它应该只是工作作为控制台应用程序,其中应用程序接受命令args中。

如果没有命令行的args是进入需要工作的GUI应用程序。

我确实是这样的:


int main(int argc, char *argv[])

{

 HWND hwndC = GetConsoleWindow();

 QApplication::Type appType = QApplication::GuiClient;

 if (argc > 1)

 {

  appType = QApplication::Tty;

 }

 QApplication a(argc, argv, appType);

 if (a.type() != QApplication::Tty)

 {

  CSensoRescue *w = new CSensoRescue();

  w->show();

  if (hwndC)

  {

   ShowWindow(hwndC, SW_HIDE);

  }

 }

我面对的两个问题是,当我进入这样的:

:D:\项目\ TestProjects \ TestQtConsole \ Debuggt; TestQtConsole.exe FDSA

我作为输出参数无效。
第二,当我输入
:D:\ \ TestProjects \ TestQtConsole \ Debuggt; TestQtConsole.exe

让我改善我的问题:

当我开始我的。exe,直接双击我的控制台也开了,我不想。
我只是想仅用于GUI。| rakeshvishwanath_ToProve

回答

评论会员:。菲利普・森 时间:2012/02/04
。放在DLL中的通用代码和创建不同应用的GUI和控制台{ BR}
使用单独的应用程序,将有很多的优势,由开始的事实,从一开始,你的GUI应用程序将是一个GUI应用程序没有控制台....和控制台应用程序,将没有一个GUI控制台应用程序。

它会更容易对他们俩的创建快捷方式。

你不会有任何类似的控制台应用程序的选项specifyu命令。如果没有参数,简单地夫琅使用情况的信息,如果控制台应用程序总是需要参数
评论会员:。芙蓉 时间:2012/02/04
建议:
1。让你的控制台程序名为TestQtConsole.com
2。让你的GUI程序名为TestQtConsole.exe
评论会员:游客 时间:2012/02/04
johny10151981:我完全同意Timberbird。开发人员不应该使用任何可能惹恼用户。专门破坏cmd窗口。此外,我不知道是否用户将能够找出实际的控制台,从该计划已经启动。按照链接imgsrc=http://www.orcode.com/img/ico/smiley_smile.gif它可以帮助你。有在CodeProject上提供了另一种软件,但我无法找到链接任何一个更好的计划