【发布时间】:2013-06-30 19:01:08
【问题描述】:
我正在使用 c++,并且我有一个可以与 winmain 一起使用的程序。 我不希望 system() 调用打开和关闭窗口。
示例:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
system("dir > nul 2> nul");
return 0;
}
我想使用系统调用,但我不希望它们打开一个新窗口。
提前致谢。
编辑:
我找到了这个解决方案:
要在不打开窗口的情况下执行 cmd 命令,我会创建一个 bat 文件(程序会这样做)然后我使用以下代码:
ShellExecute(NULL, "open", "Directory_Of_Bat_File", NULL, NULL, 0);
这将打开 bat 文件并执行命令。 我还注意到您不需要 system() 来删除 bat 文件,但您可以通过以下方式将其删除:
del Directory_Of_Bat_File
在 bat 文件中,执行 bat 文件时会删除它(它会自行删除)。 这无需打开新窗口。
【问题讨论】:
-
如果您有解决方案,请将其作为答案发布,而不是将其编辑到您的问题中。 (是的,您可以回答自己的问题;如果它是您问题的最佳解决方案,您甚至可以接受自己的答案。)