【问题标题】:How to guarantee a monitor never leaves fullscreen mode?如何保证显示器永远不会离开全屏模式?
【发布时间】:2012-04-20 06:30:23
【问题描述】:

我的一台显示器(机器上至少有三台显示器)需要保持全屏模式以进行一些演示工作,并且无论如何都不能失去全屏状态。

问题是我发现有很多方法可以将显示器拖回窗口模式:显示桌面按钮、window + d、window + tab 等。

有没有一种简单的方法可以确保一台显示器保持全屏模式?如果没有,实际的方法是什么?

【问题讨论】:

    标签: fullscreen direct3d


    【解决方案1】:

    创建设备时需要提供行为标志:

    HRESULT CreateDevice(
      [in]           UINT Adapter,
      [in]           D3DDEVTYPE DeviceType,
      [in]           HWND hFocusWindow,
      [in]           DWORD BehaviorFlags,
      [in, out]      D3DPRESENT_PARAMETERS *pPresentationParameters,
      [out, retval]  IDirect3DDevice9 **ppReturnedDeviceInterface
    );
    

    选择以下一项:D3DCREATE_NOWINDOWCHANGES。这样你就可以指示 Windows 不要破坏你的窗口大小和焦点。请注意,在此模式下,您必须处理所有事件,包括 Alt+Tab 和大小事件(如果您的应用程序依赖它们)(许多框架都这样做)。

    您可能还需要指定标志 D3DCREATE_DISABLE_PRINTSCREEN,因为某些屏幕捕获程序可能会弹出一个窗口。

    【讨论】:

    • 所有这些标志都已设置。实际的问题是,当我执行上述操作时(并且将窗口移动到该监视器也可以),全屏窗口将进入遮挡状态并离开全屏模式。
    【解决方案2】:

    嗯...目前我已移除所有输入设备并从另一台计算机远程控制软件...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 2013-11-04
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2020-09-23
      相关资源
      最近更新 更多