fixed UAC stuff for XP

git-svn-id: svn://svn.code.sf.net/p/processhacker/code@669 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
wj32
2009-02-20 08:36:38 +00:00
parent 7f24cab371
commit 674fb577d5
+19 -12
View File
@@ -2006,23 +2006,30 @@ namespace ProcessHacker
this.ApplyFont(Properties.Settings.Default.Font);
if (Program.WindowsVersion == "Vista")
{
uacShieldIcon = this.GetUacShieldIcon();
using (var thandle = Win32.ProcessHandle.FromHandle(Program.CurrentProcess).GetToken(Win32.TOKEN_RIGHTS.TOKEN_QUERY))
{
var elevation = thandle.GetElevationType();
using (var thandle = Win32.ProcessHandle.FromHandle(Program.CurrentProcess).GetToken(Win32.TOKEN_RIGHTS.TOKEN_QUERY))
{
var elevation = thandle.GetElevationType();
if (elevation == Win32.TOKEN_ELEVATION_TYPE.TokenElevationTypeLimited)
{
vistaMenu.SetImage(showDetailsForAllProcessesMenuItem, uacShieldIcon);
runAsServiceMenuItem.Visible = false;
}
else
{
runAsAdministratorMenuItem.Visible = false;
showDetailsForAllProcessesMenuItem.Visible = false;
if (elevation == Win32.TOKEN_ELEVATION_TYPE.TokenElevationTypeLimited)
{
vistaMenu.SetImage(showDetailsForAllProcessesMenuItem, uacShieldIcon);
runAsServiceMenuItem.Visible = false;
}
else
{
runAsAdministratorMenuItem.Visible = false;
showDetailsForAllProcessesMenuItem.Visible = false;
}
}
}
else
{
runAsAdministratorMenuItem.Visible = false;
showDetailsForAllProcessesMenuItem.Visible = false;
}
timerFire.Interval = Properties.Settings.Default.RefreshInterval;
timerFire.Enabled = true;