2

.EXEにマークを付けて、管理者として実行するように要求する方法はありますか?となることによって:

  1. UACがプロンプトなしでrunasadminに設定されている場合、それはadminとして実行されます。
  2. ユーザーが管理者として実行できない場合(別のログインが必要)、ユーザーとして実行します。
  3. プロンプトが表示されたら、ユーザーにプロンプ​​トを表示します。受け入れられた場合、管理者として実行されます。
  4. プロンプトが拒否された場合は、ユーザーとして実行されます。

私は2つの.exeプログラムでこれを行う方法を知っています。でも1つでやりたいです。このプログラムは、ユーザーのライセンスキーを入力します。HKLMで、アプリに管理者権限がある場合(つまり、すべてのユーザーがキーを持っている場合)。管理者権限がない場合はHKCUで。

4

2 に答える 2

3

ユーザーが昇格プロンプトを拒否した場合に管理者権限なしで実行を継続できるように、実行可能ファイルをマークする方法はありません。ただし、プロセスは、昇格された特権を持つ同じ実行可能ファイルから自分自身の2番目のコピーを起動しようとし、作業を新しいプロセスに渡すか(正常に起動した場合)、作業自体を続行します(そうでない場合)。

自分を昇格させる方法の例については、この回答を参照してください。

于 2012-10-24T04:00:33.817 に答える
0

highestAvailableの代わりにリクエストすると、1と2を取得できますrequireAdmin。ただし、アプリの残りの部分全体で、昇格しているかどうかをテストする必要がある場合があるため、私はそれが好きではありません。

#4はもらえません。アプリを起動しようとしてUACダイアログが表示され、ユーザーがUACを拒否した場合、アプリは起動しません。アプリケーションの一部に昇格が必要な場合は、その部分を別のexeに移動し、昇格が必要なexeにマニフェストを配置してから、メインアプリに昇格を必要としないようにすることをお勧めします。

于 2012-12-11T14:28:07.050 に答える