mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
Fixed wrong usernames when Process Hacker is running as a non-admin user
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@241 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
Process Hacker
|
||||
|
||||
1.2.4.0
|
||||
* Fixed wrong usernames when Process Hacker is running as a non-admin user
|
||||
|
||||
1.2.3.5
|
||||
* Added handle viewing/closing support
|
||||
|
||||
@@ -138,7 +138,6 @@ namespace ProcessHacker
|
||||
Properties.Settings.Default.ShowAccountDomains);
|
||||
item.UsernameWithDomain = Win32.GetProcessUsername(p.Handle.ToInt32(),
|
||||
true);
|
||||
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -149,13 +148,7 @@ namespace ProcessHacker
|
||||
item.UsernameWithDomain = tsProcesses[p.Id].UsernameWithDomain;
|
||||
}
|
||||
catch
|
||||
{
|
||||
if (System.Runtime.InteropServices.Marshal.GetLastWin32Error() == 5)
|
||||
{
|
||||
item.Username = "(" + Win32.GetLastErrorMessage() + ")";
|
||||
item.UsernameWithDomain = "(" + Win32.GetLastErrorMessage() + ")";
|
||||
}
|
||||
}
|
||||
{ }
|
||||
}
|
||||
|
||||
newdictionary.Add(p.Id, item);
|
||||
@@ -196,10 +189,7 @@ namespace ProcessHacker
|
||||
newitem.UsernameWithDomain = tsProcesses[p.Id].UsernameWithDomain;
|
||||
}
|
||||
catch
|
||||
{
|
||||
newitem.Username = item.Username;
|
||||
newitem.UsernameWithDomain = item.UsernameWithDomain;
|
||||
}
|
||||
{ }
|
||||
}
|
||||
|
||||
if (newitem.MemoryUsage != item.MemoryUsage ||
|
||||
|
||||
@@ -2096,8 +2096,25 @@ namespace ProcessHacker
|
||||
returnProcesses[i].Info = (WTS_PROCESS_INFO)Marshal.PtrToStructure(
|
||||
new IntPtr(processes + Marshal.SizeOf(typeof(WTS_PROCESS_INFO)) * i), typeof(WTS_PROCESS_INFO));
|
||||
|
||||
returnProcesses[i].Username = GetAccountName(returnProcesses[i].Info.SID, false);
|
||||
returnProcesses[i].UsernameWithDomain = GetAccountName(returnProcesses[i].Info.SID, true);
|
||||
try
|
||||
{
|
||||
if (returnProcesses[i].Info.SID == 0)
|
||||
throw new Exception("Null SID pointer");
|
||||
|
||||
returnProcesses[i].Username = GetAccountName(returnProcesses[i].Info.SID, false);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
|
||||
try
|
||||
{
|
||||
if (returnProcesses[i].Info.SID == 0)
|
||||
throw new Exception("Null SID pointer");
|
||||
|
||||
returnProcesses[i].UsernameWithDomain = GetAccountName(returnProcesses[i].Info.SID, true);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
|
||||
WTSFreeMemory(processes);
|
||||
|
||||
Reference in New Issue
Block a user