fullscreen.dll 是一个面向全屏显示控制的动态链接库,通常由游戏客户端、多媒体播放器、图形中间件或显卡厂商的覆盖层组件随程序一同分发,并非 Windows 原生核心系统文件。它把分散在 Win32 与图形 API 中的全屏控制逻辑封装为独立模块,供主程序按需调用。
通过 SetWindowLong、SetWindowPos 剥离窗口的 WS_CAPTION、WS_THICKFRAME 等样式,将窗口扩展至覆盖整个显示区域,实现无边框全屏;或调用 ChangeDisplaySettingsEx 切换为独占全屏。
借助 EnumDisplaySettings 枚举可用显示模式,匹配应用请求的分辨率、色深与刷新率,并在进入全屏前保存原桌面配置,退出或异常终止时进行回滚,避免桌面长时间停留在异常模式。
为 Direct3D、OpenGL、Vulkan 的交换链与表面提供全屏绑定支持,管理后台缓冲尺寸、Present 参数,并负责独占全屏与窗口化全屏(Borderless)之间的互转。
全屏期间调用 ClipCursor 限制光标活动范围、隐藏系统光标、拦截 Alt+Tab 与 Win 组合键消息,并在设备丢失或窗口失焦后完成焦点重建。
识别显示拓扑,选取目标输出设备,处理 DPI 缩放、HDR 状态以及跨屏迁移时的坐标换算,保证全屏画面落在正确的显示器上。