1

VC++ コンパイラを使用していますが、プロセスを強制終了する方法を知りたいです。機能はありますか。

私は TerminateProcess(); で試しました。しかし、私はできませんでした...

4

3 に答える 3

5

何をしたいのか正確にはわかりませんがTerminateProcess()、適切に閉じる機会を与えずにプロセスを強制終了することを知っておく必要があります。

最初にWM_CLOSEアプリケーションにメッセージを送信し、応答がない場合は で終了させたい場合がありTerminateProcess()ます。

Dr Dobbs の素晴らしい記事 (サンプル付き) がここにあります。

見てみるといいかもしれません。

于 2010-05-05T07:16:03.273 に答える
0

TerminateProcess権利が必要PROCESS_TERMINATEです。からプロセス ハンドルを取得する場合OpenProcess、dwDesiredAccess パラメータには少なくともPROCESS_TERMINATE.

昇格されたプロセスを強制終了しようとしている場合は、アプリ (強制終了を行うアプリ) も昇格する必要があります。

どのエラーコードから取得していGetLastError()ますか?

于 2010-05-05T07:15:43.987 に答える
0

あなたがそれを正しく行ったことを確認するために:

  • OpenProcessプロセス ID からプロセス ハンドルを取得するために使用します (PROCESS_TERMINATEアクセス権を要求します) 。
  • TerminateProcessこのハンドルで呼び出す

このアプローチで何がうまくいかなかったのですか?

于 2010-05-05T07:19:37.400 に答える