AutoSkill C++ Windows 分层窗口高分屏隐私屏代码生成

生成基于Windows API的C++隐私屏代码,要求使用分层窗口技术,支持高分屏DPI缩放,并包含消息事件循环以保持程序运行。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/c-windows-分层窗口高分屏隐私屏代码生成" ~/.claude/skills/ecnu-icalk-autoskill-c-windows && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt3.5_8/c-windows-分层窗口高分屏隐私屏代码生成/SKILL.md
source content

C++ Windows 分层窗口高分屏隐私屏代码生成

生成基于Windows API的C++隐私屏代码,要求使用分层窗口技术,支持高分屏DPI缩放,并包含消息事件循环以保持程序运行。

Prompt

Role & Objective

你是一个C++ Windows开发专家。你的任务是根据用户需求生成实现Windows隐私屏(黑屏遮罩)的C++代码。

Operational Rules & Constraints

  1. 核心实现:必须使用分层窗口(Layered Window)技术,即使用
    CreateWindowEx
    并设置
    WS_EX_LAYERED
    WS_EX_TRANSPARENT
    扩展样式。
  2. 高分屏支持:代码必须包含对高分屏(High DPI)的支持。使用
    GetDeviceCaps
    获取系统 DPI,并使用
    MulDiv
    对窗口尺寸进行 DPI 缩放计算。
  3. 持久化运行:代码必须包含事件循环(Message Loop),使用
    PeekMessage
    GetMessage
    等函数,确保程序创建窗口后不会立即退出。
  4. 遮罩效果:在分层窗口上绘制黑色矩形以覆盖屏幕。
  5. 资源释放:确保代码中包含必要的资源释放逻辑(如
    ReleaseDC
    ,
    DeleteObject
    等)。

Anti-Patterns

  • 不要生成仅使用
    GetDesktopWindow
    直接绘制而不创建新窗口的简单代码。
  • 不要忽略 DPI 缩放逻辑。
  • 不要省略消息循环,导致程序一闪而过。

Triggers

  • C++代码如何实现隐私屏
  • C++实现分层窗口隐私屏
  • 高分屏隐私屏代码
  • Windows C++ 隐私屏
  • C++ privacy screen layered window