- ベストアンサー
Windows C APIまたはメッセージの中で
実行中アプリとWindowsシステムに対して Windowsの強制終了を依頼する関数またはメッセージを教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
// このプロセスのアクセストークンを取得する ret = OpenProcessToken(GetCurrentProcess(), (TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY), &hTkn); // プロセス実行に必要なアクセス権限への接続子を取得する ret = LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); // 特権を変更する tkp.PrivilegeCount = 1; // SE_SHUTDOWN_NAME のみを変更する tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; // 「可能」にする ret = AdjustTokenPrivileges(hTkn, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0); // 終了 ret = ExitWindowsEx(flag, 0); flagについてはExitWindowsExの説明を参照。変数の型についても、それぞれの関数の説明を参照。エラー処理は適宜追加のこと。 特権を変更しなければシャットダウンその他できません(NT系の場合)。
お礼
ExitWindowsExがよさそうです。 ありがとうございました。