ProcessHelper.cs 825 B

1234567891011121314151617181920212223242526272829303132
  1. using System.ComponentModel;
  2. using System.Diagnostics;
  3. using System.Security.Principal;
  4. namespace PixiEditor.Models.Processes
  5. {
  6. public static class ProcessHelper
  7. {
  8. public static Process RunAsAdmin(string path)
  9. {
  10. Process proc = new Process();
  11. try
  12. {
  13. proc.StartInfo.FileName = path;
  14. proc.StartInfo.Verb = "runas";
  15. proc.StartInfo.UseShellExecute = true;
  16. proc.Start();
  17. }
  18. catch (Win32Exception)
  19. {
  20. throw;
  21. }
  22. return proc;
  23. }
  24. public static bool IsRunningAsAdministrator()
  25. {
  26. return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
  27. }
  28. }
  29. }