ランチャーを作っているんですけど、ランチャーからWinodws XPを終了させたいんでけど、どうすればいいのですか?
ExitWindowsEx(EWX_SHUTDOWN,0)を使ったのですが、全然終了しません!
SE_SHUTDOWN_NAME特権をプロセスが持っていないのでしょう。
そのことはヘルプに載っていますし,GetLastErrorを調べれば特権が無いことはわかるはずです。
http://msdn.microsoft.com/library/en-us/sysinfo/base/exitwindowsex.asp
http://msdn.microsoft.com/library/en-us/sysinfo/base/shutting_down.asp
NT系ではSE_SHUTODOWN_NAME特権をプロセスに持たせてからExitWindowsをする必要があります。
AdjustTokenPrivilegesを使ってSE_SHUTODOWN_NAME特権を与えてください。
サンプル等はAdjustTokenPrivilegesで検索すれば、すぐに見つかると思います。
解決
ツイート | ![]() |