我创建了一个Win32控制台应用程序,并隐藏了cmd窗口。因此,如果我的应用程序正在运行,则只能通过正在运行的进程看到它。如果有办法,我想以下列方式修改我的应用程序: 如果我定义一个参数,它应该显示cmd窗口,但如果我不使用这个参数,那么它应该运行而不显示cmd窗口。
我已禁用以下方式显示cmd窗口:
#pragma comment( linker, "/SUBSYSTEM:WINDOWS" )
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
...
...
...
}
有谁知道如何做到这一点?
kampi
答案 0 :(得分:1)
WinMain的lpCmdLine参数使您可以访问该程序的命令行。您可以简单地读取其值,然后根据其值采取适当的操作。
编辑:在Windows中显示控制台的实际机制有点棘手。您必须创建控制台,然后重定向标准输出流以写入它。对这个here进行了很好的讨论,它很好地详细说明了它的工作原理以及完成工作所需的代码。
希望这有帮助!
答案 1 :(得分:0)
由于您在另一个答案的评论中说过,您可以很好地管理命令行参数部分,这是可能对您有帮助的另一部分。我希望你需要隐藏控制台窗口,对吗?
无论如何,请尝试以下(未经测试):
ShowWindow(GetConsoleWindowHandle(),SW_HIDE);