7

だから私はこれをグーグルで試してみましたが、これは良い結果が得られません。私がやろうとしているのは、面倒なUACが毎回ポップアップすることなく、別のプログラムを管理者として実行することです。

アイデアはこれです。このプログラムを実行するには、ユーザーが付与する管理者権限が必要です。次に、このプログラムは、管理者権限も必要とする他の多くのプログラムを実行します。ユーザーがクリックして一連のプログラムを時々許可する代わりに、管理者権限を持つプログラムは、他のプログラムを管理者として実行できます。

これにより、ユーザーは多くの指示に従う必要がなくなります。また、プログラムがユーザーに多くのことを許可するように要求することは、非常に専門的ではないように見えます。ワンクリックですべてを実行できるプログラムです。

Google が良い結果を出していないと私が言った理由は、ユーザーが管理者としてプログラムを実行する方法でページがあふれているためです。管理者として別のプログラムを実行できるようにしたい。

セットアップ ファイルをフォルダーにドロップし、CMD から管理者としてファイルを実行することを考えていましたが、使用する必要がありrunas、自分でテストした後、パスワード/ユーザー名が間違っていると言い続けましたが、それは確かでした.

他のヒントはありますか?

4

1 に答える 1

18

次を使用して、アプリケーションから別のアプリケーションを実行できます。

Process.Start("Notepad.exe")

元のプログラムが昇格 (管理者として) 実行されている場合、メモ帳は管理者として実行されます (UAC プロンプトは表示されません)。

元のプログラムが昇格された状態で実行されておらず、昇格された (管理者として) アプリケーションを起動したい場合は、次のようにする必要があります (昇格のプロンプトが表示されます)。

    Dim procStartInfo As New ProcessStartInfo
    Dim procExecuting As New Process

    With procStartInfo
        .UseShellExecute = True
        .FileName = "Notepad.exe"
        .WindowStyle = ProcessWindowStyle.Normal
        .Verb = "runas" 'add this to prompt for elevation
    End With

    procExecuting = Process.Start(procStartInfo)

UAC プロンプトを回避する方法はないことに注意してください。UAC が有効になっている場合、ユーザーはある時点で昇格に同意する必要があります。

于 2013-05-29T08:34:38.637 に答える