Tag: uac

检测程序是否以完全pipe理员权限运行

我需要确定我的程序是否具有完整的pipe理员权限。 我的意思是如果开启了uac(对于win vista / 7),我需要确定程序是否确实具有pipe理权限(如用户右键单击并select“以pipe理员身份运行”),而不受uac的限制。 我如何在C ++中做到这一点?

如何在Vista中运行NOT提升(.NET)

我有一个应用程序,我必须以pipe理员身份运行。 该应用程序的一小部分是使用Process.Start启动其他应用程序 启动的应用程序也将作为pipe理员运行,但我宁愿看到他们作为“正常”用户运行。 我如何做到这一点? /约翰/

我如何运行需要提升和等待的subprocess?

Win 7 / UAC让我疯狂。 在我的C ++应用程序中,我需要运行一个需要在Windows 7上升级的可执行文件。我想要解决这个问题并等待它完成后再继续。 什么是最简单的方法来做到这一点? 我通常通过CreateProcess()来做这种事情,但是对于那些需要提升的可执行文件来说,这是失败的。 我尝试运行使用cmd.exe /c …通过CreateProcess ,它的工作,但popup一个丑陋的cmdterminal窗口。 我正在阅读的ShellExecute()将允许提升,但它似乎并不容易等待exe完成使用ShellExecute() 。 会像system()一样简单的工作吗? 任何其他的想法,非常感谢!

如何在Windows启动时以pipe理员身份自动运行程序?

我创build了自己的家长控制应用程序来监视我的孩子的活动。 该应用程序的唯一GUI是一个任务栏图标。 该程序以pipe理员身份安装。 我希望这个程序在Windows启动时以pipe理员用户的身份自动启动,以便标准用户不能从任务pipe理器中删除它。 我可以在以下位置创buildregistry项: HKLM\Software\Microsoft\Windows\CurrentVersion\Run 使其在Windows启动时自动运行。 问题是程序是以login(标准)用户身份启动的。 我怎样才能让它在高架模式下运行? 这在Win7中是可能的吗?

您是否可以强制Visual Studio始终以Windows 8中的pipe理员身份运行?

在Windows 7中,您可以进入程序兼容性设置并签出,以始终以pipe理员身份运行。 Windows 8中有类似的选项吗? 我一直在我的机器上禁用UAC,并且在Windows 8升级后也一样,所以我想。 事实certificate,没有off选项,只closures通知。 这意味着即使在pipe理员组中,也不会以pipe理员身份运行。 当我尝试debugging(附加到进程,而不是F5 )时,我需要继续closures并重新打开我的控制台\ Visual Studio,这非常令人沮丧。 这真的很烦人,我需要记住采取额外的步骤来打开它作为pipe理员或告诉它closures和重新打开,当我第一次去debugging。

Windows 7是否像Vista那样限制文件夹访问?

我注意到,在我的应用程序中,大多数兼容性问题是由于某些文件夹的“拒绝访问”引起的,例如: Application Data [C:\ProgramData] Desktop [C:\Users\Public\Desktop] Documents [C:\Users\Public\Documents] Favorites [C:\Users\Public\Favorites] Start Menu [C:\ProgramData\Microsoft\Windows\Start Menu] Templates [C:\ProgramData\Microsoft\Windows\Templates] Windows 7是否有与Vista相同的问题? 在堆栈溢出的成员的帮助下,我知道在Vista上我可以使用CSIDL_APPDATA来启用文件访问而不存在UAC问题或“访问被拒绝”错误。 这是否也适用于Windows 7?

你如何去提升subprocess的权限?

我知道如何使用以下命令从进程启动具有pipe理权限的进程: proc.StartInfo.UseShellExecute = true; proc.StartInfo.Verb = "runas"; 其中proc是一个System.Diagnostics.Process。 但是,如何做相反的? 如果您所在的进程已经升级,那么您如何在没有pipe理员权限的情况下启动新进程? 更准确地说,我们需要启动与Windows资源pipe理器具有相同权限级别的新进程,因此如果禁用UAC,则不会更改,但如果启用了UAC,但进程正在运行提升,则需要执行某些未升级的操作因为我们正在创build一个虚拟驱动器,如果它创build与提升的权限和Windows资源pipe理器运行unlevated它不会显示出来。 随意把标题改为更好的东西,我不能拿出一个好的描述。

在运行时请求pipe理员权限

是否有可能在运行时从Windows操作系统获取C ++应用程序的pipe理员权限? 我知道它可以在编译时完成,但似乎无法find任何地方是否可以在运行时完成。 谢谢你的帮助! 编辑:如果我想要当前实例具有提升的特权呢? 例如,我可能会将数据存储在我想保留的内存中。

HttpListener访问被拒绝

我正在用C#编写一个HTTP服务器。 当我尝试执行函数HttpListener.Start()我得到一个HttpListenerException说 “拒绝访问”。 当我在Windows 7中以pipe理员模式运行应用程序时,它工作正常。 我可以让它运行没有pipe理模式? 如果是的话如何? 如果没有,我怎么能使应用程序开始运行后更改为pipe理模式? using System; using System.Net; namespace ConsoleApplication1 { class Program { private HttpListener httpListener = null; static void Main(string[] args) { Program p = new Program(); p.Server(); } public void Server() { this.httpListener = new HttpListener(); if (httpListener.IsListening) throw new InvalidOperationException("Server is currently running."); httpListener.Prefixes.Clear(); httpListener.Prefixes.Add("http://*:4444/"); try { […]

仅在需要时才使Inno Setup安装程序请求权限提升

Inno Setup安装程序具有PrivilegesRequired指令 ,可用于控制安装程序启动时是否需要特权提升。 我希望我的安装程序能够为非pipe理员用户工作(将我的应用程序安装到用户文件夹而不是Program Files没有问题)。 所以我把PrivilegesRequired设置为none (无证的值)。 这使UAC提示popup只有pipe理员用户,所以他们甚至可以安装到Program Files 。 没有UAC提示非pipe理员用户,所以即使他们可以安装应用程序(到用户文件夹)。 这虽然有一些缺点: 有些人在他们的机器上使用不同的pipe理员帐户和非pipe理员帐户,通常使用非pipe理员帐户。 通常,使用非pipe理员帐户启动安装时,当他们获得UAC提示时,他们inputpipe理员帐户的凭据继续。 但是这不适用于我的安装程序,因为没有UAC提示。 (过度可疑)具有pipe理员帐号的用户,如果想要安装到用户文件夹,则不能在没有(不需要的)pipe理员权限的情况下启动我的安装程序。 有什么方法可以使创新安装请求权限仅在需要时提升(当用户select安装文件夹只能由pipe理员帐户写入)? 我想在Inno Setup中没有这个设置。 但可能有一个编程解决scheme(Inno Setup Pascal脚本)或某种插件/ DLL。