- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用java开发了我的远程屏幕共享软件。它工作正常,但是当使用 UAC 时,屏幕上会出现允许/禁止提示,但远程屏幕看不到它。所以每次用户都必须手动允许它。我想知道如何摆脱这个问题。
最佳答案
这正是 uiAccess
应用程序程序集 list 中的属性是为创建的。
我会公然地从 Microsoft AppCompat Guy 的博客中窃取和引用:
Using the uiAccess attribute of requestedExecutionLevel to Improve Applications Providing Remote Control of the Desktop
You have to elevate an application. When you do, you don’t see the UAC dialog – instead, the end user does. Even if you decide to give the user the password (it happens), you then can’t control or even see the elevated application.
Kind of makes it hard to be a helpdesk when that happens.
Here are the 3 solutions that I have seen to this problem:
- Do nothing. That’s what our solution did. It just failed every time elevation was involved.
- Install a service. That’s what company X did. It requires the user to know an admin password, and that’s a problem for my customers
- Run the application elevated. That’s what company Y did. It requires the user to know an admin password (a problem with my customers), and also won’t allow you to interact with any windows running at System integrity level (so an incomplete solution)
Here’s what I wish all 3 had done:
- Manifest with uiAccess = true
most people don’t really understand what this is for, and the UAC manifest is typically just a copy/paste affair. But it pays for the remote desktop developer to pay attention to it. For any regular piece of software, you generally want to stay away from it – it’s dangerous, and sidesteps a significant security feature (UIPI). But if you are remoting the desktop, it’s precisely what you want – you need to be able to see everything!
It’s dangerous enough, in fact, that we won’t allow you to set it without digitally signing your application. By default, you also have to have it installed in a secure location (such as Program Files). You can set a group policy to not require a secure location, but there is no option to not require a signature.
However, once set up, it’s really powerful. You’ll be able to remote every possible kind of window – any integrity level at all. No more blank, unresponsive screens. Everything comes across, regardless of integrity level.
uiAccess=true
的程序集 list 选项:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1'
manifestVersion='1.0'>
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="client"
type="win32"
/>
<description>Oh god not Java</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker"
uiAccess="true"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
关于java - 运行远程桌面应用程序时如何访问 UAC 提示符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18826248/
我在使用 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“您确定要”提示,但
我是一名优秀的程序员,十分优秀!