1

したがって、このVB6アプリケーションを修正する必要があります。このアプリケーションは、引数としてShellコマンド()を介してA起動します。引数としてで起動します。B.exeShell(strCmd)C.exe argsB.exeC.exeargs

このVB6アプリケーションは、UAC設定が最も低いWindowsXPおよびWindows7で動作します。ただし、デフォルトのUAC設定(最高から2番目のノッチ)を使用するWindows 7ではC.exe、エラーが発生します。C.exe昇格された特権なしで実行した場合、同じエラーが発生します。

私の質問は:

A管理者として実行した場合B.exe、シェルコマンドを使用して実行した場合、管理者として実行しAますか?

B.exeそうでない場合、とに変更を加えずに私のオプションは何C.exeですか?可能であれば、実行時にユーザーにパスワードの入力を求めずに?

4

1 に答える 1

2

Shell()特権または実行レベルは変更されません。実行可能ファイルが昇格して実行されている場合、サブプロセスも昇格されます。

昇格されていないプロセスから昇格されたプロセスを実行する場合ShellExecute()は、runas動詞とともに使用する必要があります。

昇格されたプロセスから昇格されていないプロセスを(直接)開始することはおそらくありません。

于 2012-10-10T13:58:41.590 に答える