1

我有一个 WINMAIN 应用程序说你好世界。

我用了

-mwindows 

链接器中的切换选项以确保它执行 GUI 应用程序。但是当我执行一些系统命令时

system("dir");

从 C 代码中它会弹出一个控制台。

是否有抑制控制台窗口的选项?

请指导。下面是使用 Mingw GCC 的 hello world 代码

#include <windows.h>

int WINAPI
WinMain (HINSTANCE hInstance, HINSTANCE hPrevInst, LPTSTR lpCmdLine, int nShowCmd)
{
  MessageBoxW (NULL, L"Hello World!", L"hello", MB_OK | MB_ICONINFORMATION);
  system("dir");
  system("dir");
  system("dir");
  system("dir");
  Sleep(1000);
  return 0;
}
4

1 回答 1

1

您正在调用dir,但 dir 不是lsUnix 中的程序。这是一个命令。

所以要执行dir, aCMD.exe必须产生,因此是控制台窗口。

按照@carl 的建议使用FindFirstFile列出目录中的文件。

于 2013-11-07T21:58:50.577 回答