0

C# アプリケーションがあり、このアプリケーションをスタートアップに追加したいと考えています。私が使う:

 RegistryKey Key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
 Key.SetValue("APPName", "C:\\Program Files\\App\AppName.exe");

アプリケーションを実行するには管理者権限が必要です。アプリケーションを登録する方法、または信頼できるアプリケーションに追加する方法が必要です。

ありがとう。

今私は使用しています:

        var info = new ProcessStartInfo(
            Assembly.GetEntryAssembly().Location)
        {
            Verb = "runas", // indicates to elevate privileges
        };

        var process = new Process
        {
            EnableRaisingEvents = false, // enable WaitForExit()
            StartInfo = info
        };

        process.Start();

1つのメソッドのみにアクセスするためですが、今は問題があります

     unauthorizedAccessException was unhandled

C:\Program Files にディレクトリを作成しようとしています。

4

1 に答える 1

0

Visual Studio 2010 または 2012 を使用している場合は、新しい項目 Application Manifest を追加します。requestedExecutionLevel を以下のように変更します。

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

アプリケーションが起動すると、昇格モードで実行するように求められます。

もう 1 つの方法は、昇格モードでアプリケーションを再起動することです。このため、アプリ マニフェストは必要ありません。

これらの両方の手法については、http: //www.codeproject.com/Articles/105506/Getting-Elevated-Privileges-on-Demand-using-Cで読むことができます。

于 2013-03-27T16:02:03.573 に答える