[VC] UAC + requireAdministrator + 開機自動執行

在 UAC 開啟的情況下,要開機自動執行需管理管權限的(requireAdministrator) 的程式,必需使用 Windows 的排程設定(schtasks)來啟動程式,才不會在開機時出現 UAC 要求權限的視窗。

範例:

 
void RegAutoRun(bool cmd)
{
  if (cmd == 1)
  {
    //加入啟動排程
    CString str;
    str.Format(L"/Create /F /TN \"AppName\" /SC ONLOGON /RL HIGHEST /TR \"\\\"%s\\App.EXE\\\"\"", GetLaunchDir());
    ShellExecute(NULL, _T("open"), _T("schtasks.exe"), str, _T(""), 0);
  }
 else
 {
  //從排程中移除
  ShellExecute(NULL, _T("open"), _T("schtasks.exe"), _T("/Delete /F /TN \"AppName\""), _T(""), 0);
  }
}

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *