豚吐露@wiki
Win7,Vistaで任意のアプリケーションを管理者権限で実行させる
最終更新:
Bot(ページ名リンク)
-
view
任意のアプリケーションを管理者権限で実行させる方法。
以下の例ではjavaのコントロールパネルの表示時に管理者権限で実行させないと設定が変更できないことに対する対応方法として上げてみた。
e.g.)
【UAC昇格無し】
e.g.)
【UAC昇格無し】
PROCESS_INFORMATION i; STARTUPINFOA s; int COMPLETE = 0; HWND hProcessWnd = NULL; ZeroMemory(&i, sizeof(PROCESS_INFORMATION)); ZeroMemory(&s, sizeof(STARTUPINFO)); s.cb = sizeof(STARTUPINFO); CreateProcessA(NULL, "C:\\Program Files\\[[Java]]\\jre6\\bin\\javacpl.exe", NULL, NULL, FALSE, CREATE_NEW_PROCESS_GROUP, NULL, NULL, &s, &i);
【UAC昇格有り】
ShellExecute(NULL, _T("runas"), _T("C:\\Program Files\\Java\\jre6\\bin\\javacpl.exe"), NULL, NULL, SW_SHOWNORMAL);
この時、UAC昇格ダイアログを表示して『はい』を選択した場合だけ設定が変更できる。
更新日: 2010年08月17日 (火) 21時07分42秒