gpt4 book ai didi

c# - UAC 风格提升提示

转载 作者:可可西里 更新时间:2023-11-01 10:01:06 28 4
gpt4 key购买 nike

我有兴趣在临时 session 中启动一个窗口,例如 UAC 提示的显示方式。一些人对这个概念有些兴趣,所以我想我应该在这里问一下。本质上,我们想要的是一个提升的窗口,例如 UAC“您确定要<...>”提示,但具有任意窗口。最终目标是防止窗口事件 Hook 和密码输入期间可能发生的各种其他问题。

我快速浏览了 UAC API 和其他一些地方,但没有什么特别有用的地方。显然,UAC 提示以某种方式以某种方式提升到它们自己的桌面 session ,因此必须有一种方法以这种方式创建窗口。

最佳答案

您可以使用 CreateDesktop 创建桌面.您可以使用 SwitchDesktop切换到新桌面。然后你可以调用SetThreadDesktop在你的主线程上绘制你的窗口。要取回默认桌面的句柄,请调用 OpenDesktop将“默认”设置为 lpszDesktop 并使用带有此句柄的 SwitchDesktop。您还可以在某个桌面上运行进程。为此,您必须设置 STARTUPINFOlpDesktop 成员结构到应该运行进程的桌面的名称。使用后关闭桌面的句柄 ( CloseDesktop )。

您可以通过这种方式在自己的桌面上显示自己的窗口。

UAC 和登录 UI 使用的安全桌面称为“Winlogon”。为了访问它,您需要系统权限。 Luke 在 one of his answers 中提供了一个示例.

Brian R. Bondy 写了一个 blog entry on desktops and window stations值得一读。

关于c# - UAC 风格提升提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7807761/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com