• ベストアンサー

Windows C APIまたはメッセージの中で

実行中アプリとWindowsシステムに対して Windowsの強制終了を依頼する関数またはメッセージを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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系の場合)。

keyguy
質問者

お礼

ExitWindowsExがよさそうです。 ありがとうございました。

関連するQ&A