2017-07-03 22 views
0

2つのテキストボックスの内容を使用してDOSコマンドを実行することに成功しました。私が解決策を見つけることを試みている問題は、............です。私は(管理者として)昇格権限で実行するにはどうすればよい管理者としてCMD.exeを実行する方法

誰も私を助けることができますか?

プライベートサブのButton1 Click(オブジェクトとして送信者、EventArgsのようe)のButton1.Click シェルハンドル( "CMD.EXE/c" を+ TextBox1.Text + TextBox2.Text) End Subの

+0

「.NETアプリケーションを強制的に管理者として実行するにはどうすればよいですか? https://stackoverflow.com/questions/2818179/how-do-i-force-my-net-application-to-run-as-administrator – Werdna

答えて

1

アプリケーションとして実行Shell()を使用している管理者は(ターゲットファイルが常に管理者アクセスで実行されるように設定されていない限り)できません。

ProcessStartInfoProcess.Start()を使用すると、管理者権限でアプリケーションを実行できます。しかし、Process.Start()は、ユーザーがNoを押した場合に例外を発生させます。

Dim psi As New ProcessStartInfo() ' Initialize ProcessStartInfo (psi) 
    psi.Verb = "runas" ' runas = Run As Administrator 
    psi.FileName = "cmd.exe" ' File or exe to run (this cannot take arguments, use ProcessStartInfo.Arguments instead 
    psi.Arguments = "/c " + TextBox1.Text + TextBox2.Text ' Arguments for the process that you're going to run 
    Try 
     Process.Start(psi) ' Run the process (User is required to press Yes to run the program with Administrator access) 
    Catch 
     MsgBox("User cancelled the operation", 16, "") ' User pressed No 
    End Try 
+0

ありがとうございます!!!!!!!!私は私のテストプロジェクトで上記を使用し、それは完全に動作します。 –

+0

@JeffreyRoccaforte:この回答があなたの問題を解決した場合は、投稿の左側にあるチェックマークまたはチェックマークを押して、「受け入れ済み」とマークしてください。詳細については、[**どのように回答を受け入れるのですか?**](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照してください。 –

関連する問題