0

この質問を参照する: .net - C#/WPF アプリからマシンを再起動する

セッションがロックされている場合でもマシンを再起動できる ac#/.net アプリを作成しようとしています (つまり、ユーザーがログインしており、このアプリが実行されていますが、セッションがロックされています)。

私は質問からこれを試しました:System.Diagnostics.Process.Start("shutdown.exe", "-r -t 0");

しかし、どうやらそれはセッションのロックが解除されている場合にのみ機能します。さらに、これを読んだ後: MSDN - InitiateSystemShutdown Function関数が [システム シャットダウン] ダイアログ ボックスを表示するように見えInitiateSystemShutdownますが、これは私の目的に合わないようです。

これを行う他の方法はありますか?

4

1 に答える 1

1

ExitWindowsEx関数は、私がやろうとしていたことを達成しました。

使用:

    [DllImport("user32.dll", SetLastError = true)]
    public static extern int ExitWindowsEx(ExitWindows uFlags, ShutdownReason dwReason);

トークン権限を調整し、uFlags 0x06 (再起動/強制) を使用した後。dwReason 0 も使用しました。この関数は、セッションがロックされているかどうかに関係なく、マシンを再起動します。

ここ

于 2015-02-17T17:57:43.083 に答える