- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有兴趣在临时 session 中启动一个窗口,例如 UAC 提示的显示方式。一些人对这个概念有些兴趣,所以我想我应该在这里问一下。本质上,我们想要的是一个提升的窗口,例如 UAC“您确定要<...>”提示,但具有任意窗口。最终目标是防止窗口事件 Hook 和密码输入期间可能发生的各种其他问题。
我快速浏览了 UAC API 和其他一些地方,但没有什么特别有用的地方。显然,UAC 提示以某种方式以某种方式提升到它们自己的桌面 session ,因此必须有一种方法以这种方式创建窗口。
最佳答案
您可以使用 CreateDesktop 创建桌面.您可以使用 SwitchDesktop切换到新桌面。然后你可以调用SetThreadDesktop在你的主线程上绘制你的窗口。要取回默认桌面的句柄,请调用 OpenDesktop将“默认”设置为 lpszDesktop 并使用带有此句柄的 SwitchDesktop。您还可以在某个桌面上运行进程。为此,您必须设置 STARTUPINFO 的 lpDesktop 成员结构到应该运行进程的桌面的名称。使用后关闭桌面的句柄 ( 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/
我在使用 UAC 时遇到问题,并以其他用户身份执行非交互式进程(API,例如 CreateProcessAsUser 或 CreateProcessWithLogonW)。 我的程序旨在执行以下操作:
我有一个 VB6 应用程序,我已经销售了 12 年多。有时我的用户很难让应用程序运行。数据写入将进入/My Documents,因此除了安装文件(EXE 等)之外什么都没有进入 C:\Program
我见过几个与此相反的问题; “如何禁用虚拟化?”那不是我的问题。我想强制应用程序运行虚拟化 启用 . 我有一个在 Windows XP 下运行良好的应用程序,但是,因为它将其配置写入其工作目录(“C:
我有一个应用程序需要管理员权限才能执行某些操作。我只想在启动时显示 UAC 提示,然后提升。我不确定该怎么做,但我听说过诸如 list 之类的东西,但在任何地方都看不到明确的答案。 最佳答案 您需要一
我真的不明白Windows UAC ... 我需要我的程序能够更新文件并将文件添加到属于程序的特定目录。该目录可能是 Program Files 中应用程序的子目录,例如 c:\Program Fil
我一直在互联网上寻找答案,但似乎没有直接回答,所以我想我会问。 案例场景:我想截取当前在计算机屏幕上的内容。如果是 Windows 登录屏幕,我希望它是那样。如果它是事件用户的桌面,我想成为那个。如果
我希望这是我关于这个 SIP 主题的最后一个问题,我已经设法克服了最后一个 issue我曾通过请一位 friend 从远程计算机帮助我,我能够在计算机之间进行连接,但根据所有 examples 的说法
我有一个BHO,可以将网页捕获为图像,然后运行另一个过程pngcrush如此创建的图像。我在启用UAC的系统中面临的问题是,每次IE运行时,我都会收到关于从BHO生成的pngcrushing进程的警告
我的产品需要更改文件关联。为了允许它在 Vista 中以非管理员身份运行,我已将注册表更改代码移动到名为“assocsetup.exe”的单独二进制文件中。 启动时,Vista UAC 会正确请求以管
我使用 WiX 3.6 构建了一个 Windows Installer 程序包,其中嵌入了自定义托管 (C#) 操作。 在此阶段,安装要求 使用特定的本地管理员帐户(在本例中为 SharePoint
我的应用程序由服务器和客户端界面组成。我希望客户端能够请求服务器写入注册表项。现在我对 java 库进行了研究,发现了一些库。问题出在管理员权限上。当我运行一个简单的 java 程序从注册表中读取数据
我正在为我的应用程序制作一个安装程序,它在 xp 上工作正常,但在 vista 上,UAC 会出现问题,除非我以管理员身份运行,安装后运行我的应用程序时会出现意外错误,知道吗?我正在将应用程序安装在
我在 Vista/7 上遇到 UAC 问题。我的 UAC 执行级别 = requireAdministrator 的安装程序安装并运行我的应用程序。应用程序 UAC 执行级别 = asInvoker。
我已经使用 Verisign 签署了我的应用程序,将所有注册表变量存储在 HKCU 中以避免请求管理员权限,但 UAC 命令仍然提示用户他/她是否希望以下内容对其计算机进行更改。我该如何防止这种情况发
首先,我想强调的是,我并不是想做任何“下流”或“骇人听闻”的事情,也不是想对用户隐瞒任何事情。 在我的应用程序安装(使用 InstallShield LE)期间,Windows UAC 提示用户允许它
我有一个没有资源的应用程序(根本没有,所以也没有 UAC list )。此应用程序使用 CopyFile 将自身安装到 appdata/roaming 文件夹。它还设置了自动启动,因此它会在每次启动时
我已经阅读了几个关于 UAC 和特权提升的问题,但没有找到令人满意/全面的答案。 我有这种情况:在 Windows 6 或更高版本上,当用户打开配置窗口时,我必须在确定按钮上显示盾牌(BCM_SETS
我有一个类库,它在注册表 (HKLM\Software\XXX) 中保存系统范围的配置数据。该库用于各种 Windows 版本(XP、2003、7、2008 R2)上的各种应用程序(服务、Window
显示 UAC 提升提示时是否触发了任何窗口事件?我看过 SwitchDesktop,但看不到任何关于如何接收通知的提及。 我的 direct show 应用程序表现不佳,我希望能够在显示提示时暂停图表
我有兴趣在临时 session 中启动一个窗口,例如 UAC 提示的显示方式。一些人对这个概念有些兴趣,所以我想我应该在这里问一下。本质上,我们想要的是一个提升的窗口,例如 UAC“您确定要”提示,但
我是一名优秀的程序员,十分优秀!