论坛首页 开源情报交流区 阅读主题

[分享]任务管理器中右键菜单,“UAC虚拟化”菜单的实现

66 浏览 20 回复
#1 楼主 2026-06-01 21:08:56
抽空分析了任务管理器的“结束进程树”功能,并实现了后(以前不做这个功能,以为是有什么相关的专用 API,后来分析了任务管理器才发现没有,它考虑得很全面,感觉是系统中出现多个相同PID的进程也考虑了,个人感觉不会出现这个情况,先按任务管理器的方法来写吧, 还有,个人感觉WIN 7 任务管理器,当时按理是按兼容XP等旧系统来写的,部份进程访问权限方面,在 WIN 10 上不适用了)。
  后来又无聊,看看进程方面有什么功能,任务管理器中有的,我未做过的,后来发现,有一个“UAC虚拟化”菜单。
所以把整个系统所有进程都点了右键菜单来测试,看看有什么进程可以让这个禁用状态的右键菜单可用,结果发现,没有一个进程是能让这个菜单激活的,就是说,这个菜单一直是禁用状态。
后来分析了一下 Win 7 任务管理器相关实现,结果发现,当前进程,UAC虚拟化为“已禁用”时,才激活这个菜单。 
type   // 虚拟化枚举值{$Z4}    TVIRTUALIZATION = (    VIRTUALIZATION_UNKNOWN    = 0, // 未知    VIRTUALIZATION_NOTALLOWED = 1, // 不允许    VIRTUALIZATION_DISABLED   = 2, // 已禁用    VIRTUALIZATION_ENABLED    = 3,   // 已启用    VIRTUALIZATION_COUNT);{$Z1}
//相关功能实现:调用 EnabledProcessVirtualization(进程ID,VIRTUALIZATION_DISABLED);function EnabledProcessVirtualization(const dwPID : DWORD;  const Virt : TVIRTUALIZATION): DWORD;var  hProcess, hToken : Windows.THandle;  dwVirtualization : DWORD;begin   hProcess:=MyOpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, dwPID, False);


回复或点赞可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-284216.htm
#2 2026-06-01 21:08:56
牛逼啊啊啊
#3 2026-06-01 21:08:56
感谢分享,谢谢
#4 2026-06-01 21:08:56
牛逼
#5 2026-06-01 21:08:56
修正了内容!
#6 2026-06-01 21:08:56
看一看后续的内容
#7 2026-06-01 21:08:56
看看
#8 2026-06-01 21:08:56
来看看 新技术
#9 2026-06-01 21:08:56
这是什么技术
#10 2026-06-01 21:08:56
Mark
#11 2026-06-01 21:08:56
牛逼666
#12 2026-06-01 21:08:56
还有这个贴子的“点赞 / 回复可见”功能好像有问题,我在其他的浏览器输入网址就可以看到所有内容了,都没有登录账号。加上现在这个贴子访问量有几百人,但只有几个人点赞,所以感觉是“点赞 / 回复可见”这个功能有问题。

最后于 2024-11-3 12:36
被kagayaki编辑

,原因:
#13 2026-06-01 21:08:56
看看技术贴
#14 2026-06-01 21:08:56
mark 学习
#15 2026-06-01 21:08:56
mark 学习
#16 2026-06-01 21:08:56
mark 学习
‹ 上一页 1 2 下一页 ›

请登录后参与讨论

立即登录 注册账号