要具備修改系統時間,得先設定管理員模式,才可以修改系統時間,設定開機自動的時候又不能以管理員這種方式去運行,得把管理員模式取消才可以開機啟動,現在兩者有沖突,哪位大神幫忙一下

uj5u.com熱心網友回復:
C# 程式實作軟體開機自動啟動的兩種常用方法uj5u.com熱心網友回復:
2.設定系統 時間/// <summary>
/// 設定系統時間
/// </summary>
/// <param name="d"></param>
public static void SetSysDateTime(DateTime d)
{
try
{
Microsoft.VisualBasic.DateAndTime.Today = d;
Microsoft.VisualBasic.DateAndTime.TimeOfDay = d;
}
catch { }
}
添加參考Microsoft.VisualBasic
uj5u.com熱心網友回復:
1.以管理員身份運行:public static bool UACCheckCurAdministratorAndRunAs(string[] args)
{
//如果是xp系統類下的不處理
if (Environment.OSVersion.Platform == PlatformID.Win32NT && Environment.OSVersion.Version.Major <= 5) return true;
//會彈出確認!!!
/**
* 當前用戶是管理員的時候,直接啟動應用程式
* 如果不是管理員,則使用啟動物件啟動程式,以確保使用管理員身份運行
*/
//獲得當前登錄的Windows用戶標示
System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
//判斷當前登錄用戶是否為管理員
if (!principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
{
//創建啟動物件
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
//設定運行檔案
startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;
//設定啟動引數
if (args != null) startInfo.Arguments = String.Join(" ", args);
//設定啟動動作,確保以管理員身份運行
startInfo.Verb = "runas";
try
{
//如果不是管理員,則啟動UAC
System.Diagnostics.Process.Start(startInfo);
//退出
System.Windows.Forms.Application.Exit();
return false;
}
catch
{
}
}
return true;
}
winform程式的program.cs :
/// <summary>
/// 應用程式的主入口點。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (!WindowsTools.UACCheckCurAdministratorAndRunAs(null)) return;
....................................
uj5u.com熱心網友回復:
做一個小程式 主專案設定成開機自啟 啟動的時候啟動小程式 然后把系統時間改了不知道可不可以轉載請註明出處,本文鏈接:https://www.uj5u.com/net/13024.html
標籤:C#
