2011-10-23 10 views
3

私は、特定の名前のプロセスを強制終了するはずのアプリケーションで作業しています。 私が使用しているオペレーティングシステムはWindows 7です。問題は、空ではないUSER NAMEフィールドを持つタスクマネージャーにリストされているすべてのプロセスで問題なく動作していることです。しかし、プロセスが空のユーザー名を持っているときは、タスクマネージャーによっても殺されることはありません。TerminateProcessは検証されたプロセスIDに対して機能しません

何人かのプロセスにユーザー名がない理由を教えてもらえますか?私の場合、それはcsrss.exe winlogon.exeであり、残念ながら私が殺したかった古いアプリケーションです。調べた他のすべてのプロセスには適切なユーザー名があります。

既存のプロセスにユーザー名を追加する方法はありますか?

誰でも私を殺すためにアプリケーションを殺すより良い解決方法がありますか? terminateProcess()?

+0

'GetLastError'の結果は何ですか? –

+0

私がGetLastErrorを使うと、私はいつも0x6を得る – leemonix

答えて

4

このようなプロセスは、権限がないため終了できません。アプリケーションが機能するには、権限を昇格してアプリケーションを実行する必要があります。他の方法はありません。

+0

私は昇格を試みましたが、それは助けになりません。私は自分のプロセス(空のユーザ名を使用)のためにタスクマネージャの「プロセスの終了」ボタンを押してみても、私が管理者であるにもかかわらずアクセス拒否エラーが出ることさえありました。他のすべてのシステムプロセスは殺害がharmfullです システムのために私は終了することができますが、それらはユーザー名なしではありません。それは私のために変だと私はそれがすべてであるか何か手がかりがない – leemonix

+0

あなたはSYSTEM権限に、単に管理者の特権に昇格する必要があります。 psexec -sを使用してプログラムを実行して、それが動作するかどうかを確認してください。アプリケーションは従来のユーザーアカウントから質問されたのですか、それとも特別ですか?カーネルモードのコンポーネントがあるかもしれません、それともalaウイルス対策ソフトウェアですか? –

関連する問題