小鱼塘--自说自话的地方

  • 小玩意
  • 小想法
记录自己技术和想法地方
  1. 首页
  2. 产品
  3. 正文

为了远程控制增加隐私屏幕程序发布(parsec)

10 10 月, 2024 1615点热度 5人点赞 0条评论
内容目录

背景

因为看到gameviewer 有隐私屏幕这个功能,自己互联网找一下资料,于是自己写了这个工具,方便自己使用parsec使用。

功能

  1. 一个黑色或者图片窗口遮挡整个屏幕,同时置顶,没有最小化功能
  2. 远程时候采集不到这个这个窗口,但物理显示器可以看到这个窗口,从而实现隐私功能

技术

  1. 通过创建透明窗口,这个技术很久之前就有,鼠标能够穿透这个窗口
  2. SetWindowDisplayAffinity(hWnd, WDA_EXCLUDEFROMCAPTURE) 设置不能被捕获,这个技术可以用防止截屏这个窗口

微软官方文档

file

创建这种窗口代码c++

/// <summary>
/// 创建隐私窗口
/// </summary>
/// <param name="start_x"></param>
/// <param name="start_y"></param>
/// <param name="width"></param>
/// <param name="height"></param>
/// <returns></returns>
HWND CreatePrivateWnd(int start_x ,int start_y, int width, int height) {
    DWORD dwStyle = WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_POPUPWINDOW;
    DWORD dwExStyle = WS_EX_TOPMOST | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW | WS_EX_PALETTEWINDOW | WS_EX_LAYERED | WS_EX_COMPOSITED | WS_EX_NOACTIVATE;

    HWND hWnd = CreateWindowEx(dwExStyle, szWindowClass, nullptr, dwStyle,
        start_x, start_y, width, height, nullptr, nullptr, 0, nullptr);

    SetWindowDisplayAffinity(hWnd, WDA_EXCLUDEFROMCAPTURE);
    return hWnd;
}

    int screenWidth = GetSystemMetrics(SM_CXSCREEN);
    int screenHeight = GetSystemMetrics(SM_CYSCREEN);
    m_hw_virtual_hwnd = CreatePrivateWnd(0, 0, screenWidth, screenHeight);

软件使用

file
纯win32开发,静态编译也才 171kb

使用说明

  1. 第一次试用建议点击 创建饮食窗口(10自动关闭),这个完全测试试用,10秒后就关闭,千万不要点击直接点击开启隐私屏幕(如果你没有远程的话,不然就被遮挡了)
  2. 开启隐私屏幕,建议在远程时候点击,如果你本机直接点开就会被遮挡,那么你就只能强制重启电脑了,建议这个时候手机可以远程,这点击关闭隐私按钮就可以(点击开启隐私屏幕的按钮后就变成关闭隐私按钮)
  3. 设置背景,选择背景图片,然后点击设置背景图片,然后点击开始隐私屏幕按钮就可以了,不设置默认是黑色

效果图

电脑上:
file

手机远程上:
file

文件下载

https://www.123684.com/s/RHCzVv-qlEl

补充说明

  1. 没有使用 CreateWindowInBand 用来百分百置顶,我用窗口标志置顶,这种会出现别的置顶窗口显示,测试那个函数,我用了定时器50毫秒置顶一次,这样子兼容性更好,如果CreateWindowInBand ,这个效果更好,但隐藏的api,同时还有权限限制,必须绕过才能使用,网上有对应的代码,我自己用不上
  2. 我没有阻断用户鼠标点击和移动,感觉没有必要(对于我自己需求来说)
  3. 背景图片设置后,软件下次启动时候就会用这个背景,算是比较智能的
  4. 关闭程序也会关闭隐私屏幕

资料

https://bbs.kanxue.com/thread-279475.htm
https://bbs.kanxue.com/thread-273582.htm

标签: 远程控制 隐私屏幕
最后更新:10 10 月, 2024

小鱼儿

爱研究技术,爱玩LOL

点赞
< 上一篇

COPYRIGHT © 2022 小鱼塘. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

湘ICP备18005349号