• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2025-07-18 19:19 Aet 隐藏边栏 |   抢沙发  16 
文章评分 3 次,平均分 5.0

Windows小功能

隐藏桌面快捷方式小箭头

  1. 下面方法,win7win10win11测试可以
  2. 备注
    1. 这里是把一个空白ico资源文件打到DLL里面了,资源ID101,所以用GetCurrentDllPath进行拼接

控制桌面图标的显示或隐藏

  1. 下面方法,win7win10win11测试可以
  2. Windows7另外处理

  1. Windows11

控制UAC

  1. 需要重启电脑
  2. 下面方法,win7win10win11测试可以

  1. 单进程启动见下述

控制任务栏搜索按钮

  1. 概述
    1. 任务栏搜索框集成应该是Windows10之后的功能
    2. Windows7的搜索,是在explorer里面
    3. Windows8的搜索,好像是全屏的,不在任务栏这里
  2. 选项
    1. 0:禁用
    2. 1:启用并显示为搜索图标按钮
    3. 2:启用并显示为搜索框
  3. 下面方法,win10win11测试可以

控制任务栏兴趣与咨询(小组件)

  1. 概述
    1. Windows10之后的功能
    2. Windows10叫做兴趣与咨询,Windows11叫做小组件
  2. 下面的方法,win10可以,win11没效果
    1. 选项如下:
    2. 0:显示图标和文本
    3. 1:仅显示图标(小图标)
    4. 2:关闭不显示

  1. 下面的方法,win11经验证是可以的
    1. 选项:
    2. 0:隐藏
    3. 1:显示

  1. 综合

  1. 上面的方法,发现在个别电脑上会存在读写注册表权限问题,下面方面来处理
    1. ComSetRegDWordValue见下述

  1. 监控其他产品,发现修改的地方不一样

控制任务栏搜索中的广告

  1. 下面方法,win10win11测试可以
  2. 选项
    1. true:显示
    2. false:不显示

显示所有隐藏文件

  1. 下面方法,win7win10win11测试都可以

超级显示所有隐藏文件

  1. 在显示隐藏文件的基础上,还显示隐藏的系统文件

显示文件扩展名

  1. 下面方法,win7,win10win11测试都可以

显示秒数

  1. win10win11测试可行

win11右键菜单修改为win10形式

关闭开机磁盘扫描检测

  1. 触发检测

  1. 注意
    1. 以管理员启动cmd,这个命令会导致BootExecute的值恢复默认设置

  1. 实现
    1. 下面方法,win7win10win11测试都可以

禁用或启用Windows自动更新

  1. Windows7,Windows10,Windows11

  1. 关于修改注册表
    1. wuauserv 服务在启动时会读取注册表中的 NoAutoUpdate 值,并将其缓存到内存中
    2. 后续即使注册表被修改,服务也不会主动重新读取旧配置,除非被显式重启
  2. 关于wuauserv(自动更新服务)
    1. 所有自动更新的任务(如检查更新、下载补丁)均由 wuauserv 调度执行

辅助函数

是否win10以后

  1. win11的版本是10.0.22000

是否win11以后

重启Explore

  1. 下面这个方法只杀了explorer,但是没有重启的逻辑
    1. 好像win8以后,explorer有自己拉起的机制,因而适用

  1. win7上进行了额外的处理
    1. 测试观察到,win7上也有重新拉起的能力
    2. 但是在个别情况下,没拉起来,导致任务栏会是一直黑的
    3. 下面代码,会重新拉起explorer,且不启动资源管理器

检测服务状态

检测服务是否被删除

动态库路径

  1. 当前exe或者dll中调用,返回的是当前exedll的路径

GetLocalAppDataPath

互斥量进程单实例

  1. 1619(权限及子进程监控相关)内容的helper实现进行了简化安全属性
  2. 优化版本
    1. 默认情况下,SECURITY_ATTRIBUTESlpSecurityDescriptor 设为 NULL 时,系统会使用默认安全策略(允许当前用户访问),无需手动配置 SECURITY_DESCRIPTOR

单进程相关

  1. 实现

  1. 调起方

COM方式读写注册表

  1. 这里的实现为什么用到了这个标识init_here
    1. 在单独测试的过程中,没有发现问题
    2. 在用electron项目加载这个dll,调试发现,CoInitializeEx这里会调用失败,显示COM已经初始化了

注册表判断子键是否存在

注册表判断值是否存在

桌面路径

COM是否初始化

关于任务栏创建监控

  1. TaskbarCreated对应的消息

  1. 消息映射函数

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2025-08-14
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享