启用UAC并使用管理帐户登录后,您将获得两个token:提升的token;这已启用Administrators组,具有高完整性(即强制性完整性标签SID为S-1-16-12288)并且具有提升类型TokenElevationTypeFull。有限的代币;这已禁用Administrators组,具有中等完整性(S-1-16-8192)并且具有提升类型TokenElevationTypeLimited。这三个因素总是以这种方式匹配吗?也就是说,内核是否要求只有启用Administrators组的token才能具有高完整性和/或TokenElevationTypeFull?是否存在进程不具有
所以,我想以管理员模式(UAC)运行一个程序经过一些挖掘我发现了这个:importosimporttypesfromtracebackimportprint_excfromsysimportargv,executabledefisUserAdmin():ifos.name=='nt':importctypes#WARNING:requiresWindowsXPSP2orhigher!try:returnctypes.windll.shell32.IsUserAnAdmin()except:print_exc()print"Admincheckfailed,assumingnotanad
我将其标记为社区Wiki,因为我并不是真的在寻找一个完整的答案。因此,如果您想发布一两件可以激活UAC提示的内容而不是完整的列表,那就继续吧。Windows中的哪些操作会激活UAC?我想尽可能避免它,因为我的应用程序不需要管理员权限。而且我敢肯定还有很多其他人想避免它。具体来说,我想知道从注册表中读取是否会激活它。还是写信给它?您无需解决上述问题,只要能激活它即可。用Google搜索有关UAC的任何信息真的很难,因为您会被关于如何禁用它的文章轰炸。我不想让我的应用程序假设UAC已禁用。 最佳答案 没有任何东西“激活”UAC。如果您的
我一直在努力解决ChrisIversonwashavinginthisotherStackoverflowquestion的问题.我想以编程方式启动SFC(系统文件检查器工具)。它适用于WindowsXP:privatevoidRunSfc(){ProcessStartInfostartInfo=newProcessStartInfo("cmd","/Ksfc.exe/scannow");System.Diagnostics.Process.Start(startInfo);}可以在WindowsXP下工作的其他变体://LaunchSFCdirectlyProcessStartInf
我们有一个应用程序安装程序,必须以管理员权限下载和运行,就像许多其他安装程序一样。但是,安装程序未命名为“setup.exe”,因此Windows不会自动将其检测为需要提升才能运行。坦率地说,更改安装程序名称以使事情正确提升听起来很困惑。Thisarticle谈论了很多关于UAC和提升的内容,它说您可以使用list来制作需要授权的东西。所以,我们只想为我们的安装程序创建一个list。但是,我们如何确保list存在?如果用户只是下载our_application_v13.exe,我们如何确保他们也获得list?据我所知,在这种情况下,list必须是名为“our_application_v
我编写了一个包含requireAdministratorlist的程序。在启用了UAC的Windows7系统上,Windows会弹出一个对话框,询问权限,这是应该的。效果很好。如果用户通过右键单击我的程序并选择“以管理员身份运行”来启动我的程序,那么Windows7也会弹出一个对话框询问权限。但是,在我的程序的一些更深奥的部分中,我的程序的运行方式略有不同。那么“以管理员身份运行”和带有requireAdministrator的list之间有什么区别?任何指向描述差异的文档的链接都将不胜感激。编辑:这是启用了UAC。编辑:如下所promise的是对我所看到的差异的完整解释。我正在使用E
这个问题在这里已经有了答案:C#Dragdropdoesnotworkonwindows7(6个答案)关闭3年前。我有一个.net应用程序,由于访问一些低级别的winAPI,我需要提升管理员权限。我正在使用应用程序list中的requestedExecutionLevel设置为requireAdministrator。应用程序还需要接收来自Windows资源管理器的拖放请求。我已经尝试在list中将uiAccess设置为true并遵守其他要求,例如应用程序的验证码签名,安装在受限位置(程序文件)等。应用程序正常运行,没有任何错误(在vista,win7上)用户获得UAC提示提升。但仍然
一段时间以来,我程序的安装程序使用以下代码使我的应用程序以管理员权限运行。但它似乎在Windows7下没有效果。在Vista中它工作得很好。如果我右键单击快捷方式并告诉它以管理员身份运行,程序将正常启动。但是通过使用下面的代码,应该使程序始终以这种方式运行。现在没有了。有谁知道Win7是否仍然使用此key?顺便说一下,UAC也上线了。Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers","C:\App\app.exe","RUNAS
我的应用程序需要像大多数应用程序一样存储数据。该应用程序以前仅在XP上使用,它会将数据存储在ProgramFiles中。现在我们的客户正在迁移到Windows7,我必须对其进行升级,以便将数据存储在一个新文件夹中。我选择了ApplicationData文件夹,因为我认为我根本不需要UAC就可以访问。现在在一些Windows7机器上这很好,但在其他机器上访问文件夹失败,可能是因为权限,但当以管理员权限运行时程序运行正常。我使用了错误的文件夹还是这些情况异常?无论哪种情况,这种事情的最佳做法是什么?我正在使用以下C#SpecialFolder获取AppData文件夹位置。System.En
我有一个需要UAC提升的应用程序。我有允许我提供的代码,但应用程序打开了两次,这是一个问题。这是Form1的代码:publicForm1(){InitializeComponent();WindowsPrincipalpricipal=newWindowsPrincipal(WindowsIdentity.GetCurrent());boolhasAdministrativeRight=pricipal.IsInRole(WindowsBuiltInRole.Administrator);if(!hasAdministrativeRight){ProcessStartInfostart