2017-02-03 10 views
1

私のプログラムの中でdevconツールを利用できるようにしたい。しかし、devconはUACの昇格が必要です。私はそれが動作する管理コマンドプロンプトでそれを実行するが、これをトリガする方法を参照してください?私は自分のプログラム全体をどのように昇格させる必要があるのか​​知っていますが、私は普通の非管理者がこれを利用できるようにしたいと思います。システムユーザ/管理者として実行可能ファイルを実行する方法はありますか?

特に、devcon.exe/rescanを使用すると、通常のユーザーはドライバを確認できます。

+0

runasを動詞とする 'Process'クラスを使用します。既存の議論がたくさんあります。 –

+0

プログラムを非昇格状態で実行し、昇格を必要とするアクションを実行できるようにすることをお勧めしますか? –

+0

明らかに、UACの目的は、そのような使用を防ぐことです。マイクロソフトは、ユーザーがコンピュータ上で不審な行為をするのをユーザーが知らずに停止させようと、多くの努力をしました。 ** UACをハックしようとしないでください**悪いソフトウェアがシステム上で悪いことをするのを防ぐのが難しくなるため、あなたのような人々がWindowsを遅くするのに貢献しています。 – Phil1970

答えて

2

あなたがProcessStartInfoを設定し、UACのウィンドウを表示するために、runastrueVerbUseShellExectueを設定します。

ProcessStartInfo process= new ProcessStartInfo(locationOfDevconExe); 
    process.UseShellExecute = true; 
    process.Verb = "runas"; 

をあなたはまだUACウィンドウが表示されない場合は、それを定義しましたレジストリキーConsentPromptBehaviorUserは自動的に拒否します。キーは、次のパスの下にあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 

値を0(自動的に拒否)から1(プロンプトを表示)に変更します。

関連する問題