代码之家  ›  专栏  ›  技术社区  ›  Brian T Hannan

如何隐藏win32应用程序窗口?

  •  6
  • Brian T Hannan  · 技术社区  · 14 年前

    我想通过传入参数以静默模式运行应用程序,否则我将显示窗口。

    5 回复  |  直到 14 年前
        1
  •  12
  •   Swingline Rage    14 年前

    ShowWindow(... SW_HIDE ...) 不起作用?

    这里的最佳做法是 首先不创建窗口 . 没有什么强迫您在InitInstance中实际创建一个窗口。尽管如果您使用的是MFC,那么很可能有很多应用程序/域/业务逻辑都在那里,与那些MFC消息处理程序紧密耦合,等等。在这种情况下,窗口将需要存在。

        2
  •  6
  •   Greg Domjan    14 年前

    如果你有MFC CWnd 基于显示 CWnd::ShowWindow(SW_HIDE);
    如果您只使用win32,那么 ShowWindow(hWnd, SW_HIDE);

    其他人做的事情取决于你的目标

    • 将窗口移离可见桌面区域
        3
  •  2
  •   Jacob    14 年前

    首先,如果传入这个参数,您可以决定根本不创建窗口,否则您可以尝试调用 ShowWindow ,把手放在窗户上 SW_HIDE

    另一种隐藏窗口并且从不让它显示,但仍然创建它的方法是选择从不调用 ShowWindow 开关隐藏 在上面,用 CreateWindow / CreateWindowEx ,并且不设置 WS_VISIBLE 中的标志 dwStyle

        4
  •  2
  •   Dig    14 年前

    看看main函数,您将看到创建窗口的代码。

        5
  •  1
  •   Deadlock    9 年前

    调用showWindow()时,添加SW\u HIDE参数。

    ShowWindow(hWnd, SW_HIDE);