Visual Studio不以管理員身份重新啓動,它只是檢測它是否以管理員身份運行,如果不是,則會顯示一個消息框。最簡單的測試就是打電話給IsInRole
--即使你在管理員組中,如果應用程序運行時沒有提升,它將返回false。例如:
WindowsIdentity wi = WindowsIdentity.GetCurrent();
WindowsPrincipal wp = new WindowsPrincipal(wi);
if (wp.IsInRole("Administrators"))
{
MessageBox.Show("Yes, you are an Administrator.", "Is Administrator?", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("No, you are not an Administrator.", "Is Administrator?", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
而不是這些消息框,你可以把你自己關於「請關閉並重新啓動我」。或者如果你想炫耀,給他們一個按鈕來點擊它將啓動一個提升的實例(使用ProcessStart和runas)並關閉這個實例。
謝謝。結合這個與其他答案我可以做我想做的事。 – Jensen 2010-08-25 14:21:18