首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Windows 电脑防窥:如何把设备事件变成可恢复保护动作

Windows 电脑防窥:如何把设备事件变成可恢复保护动作

原创
作者头像
用户12659055
发布2026-08-18 23:37:24
发布2026-08-18 23:37:24
830
举报

电脑旁突然多了一个人时,用户可能只想暂时收起当前窗口;人已经离开后,保护目标又变成锁住会话和私密文件。超级看门狗 SuperWatchDog 是 Windows 本地隐私保护工具,用用户预设的自动触发处理有人突然靠近、来不及操作电脑,以及离开后没有及时保护三类情况,并提供本地加密文件保险箱。

设备事件不能直接等同于保护动作。USB 拔出、蓝牙断开和摄像头状态只是观察结果,可靠程度也不同。若回调函数直接锁屏或关闭窗口,既难处理误判,也难恢复。

事件适配层不碰窗口

代码语言:txt
复制
Windows 设备通知 ─┐
蓝牙连接状态 ─────┼→ SignalAdapter → PrivacySignal
摄像头观察结果 ───┤
快捷键消息 ───────┘
代码语言:csharp
复制
record PrivacySignal(
    SignalSource Source,
    string Subject,
    SignalKind Kind,
    long Sequence);

适配层只负责把不同接口转成稳定对象。窗口、锁屏和文件处理属于后面的动作层。

确认器允许事件被撤销

蓝牙短暂断开后可能重连,视觉状态也可能被下一帧推翻。确认过程需要绑定序列:

代码语言:csharp
复制
async Task<ConfirmedSignal?> ConfirmAsync(PrivacySignal signal)
{
    var token = versions.Replace(signal.Subject, signal.Sequence);
    await confirmation.For(signal.Source).ObserveAsync(signal);

    if (!versions.Matches(signal.Subject, token))
        return null;
    if (!currentFacts.Match(signal))
        return null;

    return ConfirmedSignal.From(signal);
}

快捷键可以直接确认,自动信号则按来源规则观察。确认方式不同,输出对象保持一致。

可恢复动作优先于强制动作

防窥不是动作越多越好。窗口隐藏、Windows 锁屏和私密文件保护面向不同层:

代码语言:txt
复制
当前内容暴露 + 用户仍在场 → 隐藏指定窗口
会话可操作 + 用户已离开   → 锁屏
私密文件处于打开状态       → 保护文件边界
只有侧面观看问题           → 调整物理环境

动作计划应在执行前固定:

代码语言:csharp
复制
var plan = policy.BuildSnapshot(
    confirmedSignal,
    exposureReader.Read(),
    userPreferences.Current);

执行中途不根据实时设置重新拼装计划,也不因普通步骤失败自动升级为高影响操作。

恢复需要新的用户意图

设备重新连接不代表周围已经安全。如果程序自动恢复所有窗口,旁人仍在时反而会重新暴露内容。保护和恢复应是两个独立流程:

代码语言:txt
复制
ConfirmedSignal
      ↓
固化动作计划
      ↓
去重执行并核验
      ↓
Protected
      ↓
用户确认恢复
      ↓
RestoreSelectedState

伪代码:

代码语言:csharp
复制
async Task RestoreAsync(UserConfirmation confirmation)
{
    if (!confirmation.IsExplicit)
        return;

    foreach (var item in restorationSnapshot.Items)
        await restorer.RestoreIfOwnedAsync(item);
}

这里只恢复本次动作明确改变且仍可恢复的状态,不能把当前系统状态粗暴覆盖成旧快照。

逐项结果让失败可解释

代码语言:csharp
复制
record StepResult(string Action, StepState State, string? Hint);

完整链路应区分已完成、目标原本满足、被取消和失败。用户需要知道下一步,而不是只看到“触发成功”。

对真实电脑防窥的意义

防窥膜适合长期降低侧面可视角度;软件动作适合处理当前窗口、无人值守会话和已打开文件。手在键盘附近时,快捷键最直接;来不及操作时,提前配置的设备或手势提供另一条入口;人已经离开时,设备断开和离席判断才更有价值。

超级看门狗把这些触发方式连接到同一套用户预设动作,并用本地加密文件保险箱处理长期文件边界。它不判断用户屏幕内容,不伪装成监控软件,也不能替代保存工作和日常锁屏习惯。可恢复的电脑防窥设计,应让信号可撤销、动作可解释、恢复由用户决定。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 事件适配层不碰窗口
  • 确认器允许事件被撤销
  • 可恢复动作优先于强制动作
  • 恢复需要新的用户意图
  • 逐项结果让失败可解释
  • 对真实电脑防窥的意义
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档