2011-06-30 7 views
0

C++でWinAPIを使用する。管理者権限を持たない別のアプリケーション内からCreateProcessWithLogonW()を使用して管理者権限でプロセスを開始しようとしていますが、管理者以外のユーザーがタスクマネージャー内で新しいプロセスを停止することができます。管理者以外のユーザーにタスクマネージャーC++でのプロセスの停止を制限する

ご協力いただければ幸いです。私が覚えているように、管理者以外のプロセスからの管理プロセスを作成しますチャマン

+0

開始されたプロセスにウィンドウがありますか? 「終了プロセス」または「キルプロセス」によって停止されていますか? –

+0

ウィンドウプロセスでEndProcessによって停止される –

+0

それはあなたの問題です。デスクトップへのアクセス権を持つプロセスは、そのウィンドウ上の任意のウィンドウにメッセージを送信できるので、WM_CLOSEをアプリケーションのトップレベルウィンドウに送信できます。 –

答えて

-1

は、窓には非常に困難です。管理プロセスを開始する最も簡単なオプションは、そのプロセスexeを管理者特権で構築し、:: ShellExecuteを使用することです。

vistaとwin7では、管理者以外のプロセスからの管理プロセスへのメッセージの投稿は許可されていません。それを強制終了するために、管理プロセスにmsgを送るために独自のメッセージキューを作成する必要があります。 (ブーストメッセージキューは1つのオプションになります)。あるいは、他のいくつかの同期技術を使ってそれを殺すことができます。

+0

彼はそれを殺すつもりはないが、管理者以外のユーザーがそれをやるのを防ぐ。 – RedX

+0

 but the new process can be stopped from within task manager by the non-admin user.
管理者以外のユーザーがタスクマネージャからそのユーザーを強制終了できるようにしたという意味ですか? –

+0

ありがとうxijing ..私はそれをやろうとします.. –

関連する問題