WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);
if (!hasAdministrativeRight)
{
RunElevated(Application.ExecutablePath);
this.Close();
Application.Exit();
}
private static void RunElevated(string fileName)
{
//MessageBox.Show("Run: " + fileName);
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.Verb = "runas";
processInfo.FileName = fileName;
try
{
Process.Start(processInfo);
}
catch (Win32Exception)
{
//Do nothing. Probably the user canceled the UAC window
}
}
This blog is dedicated to all those thecno-crats and the techno freaks who love to learn new emerging technology. This blog is open to share your knowledge and help others to grow their knowledge. "Knowledge grows when shared with others"
Wednesday, December 8, 2010
C#: Elevating UAC privileges from within application
Subscribe to:
Post Comments (Atom)
1 comment:
Excellent Suhas! It simply works perfect.
Post a Comment