6

私が持っているWindowsアプリケーションでは、特定のキーを削除するなど、レジストリにいくつかの変更を加えています。UACがインストールされているVistaマシンのようないくつかのテストシナリオでは、次のようになりSystem.UnauthorizedAccessExceptionます。私のコードは次のようになります。

try
{
    //delete registry keys
}
catch (UnauthorizedAccessException ex)
{
    //handling
}
catch (Exception genEx)
{
    //handling
}

ただし、アプリケーションは引き続きクラッシュし、catchブロックによって処理されません。私がそれを処理できる方法はありますか?

4

3 に答える 3

1

おそらく、catchブロックから別の例外をスローしています。catchブロックのすべての行にコメントを付けると、問題なく機能するはずです。

于 2014-02-07T16:22:25.303 に答える
0

最も一般的で明白な理由は、パス/ファイルプログラムがアクセスを試みているが、その実行元のIDにアクセスできないことです。

詳細については、MSDNをご覧ください。

于 2014-03-08T07:09:59.003 に答える
0

アプリケーションの管理者アクセスを設定する必要があります

そのためには、右クリックしてプロパティを選択します

[管理者として実行]をオンにして、アプリケーションをチェックして実行します

すべてのユーザーの管理者として実行するには、[すべてのユーザー]ボタンをクリックし、[すべてのユーザーの管理者として実行]を選択します。これにより、常にすべてのユーザーの管理者アクセスでアプリケーションが実行されます。

ここに画像の説明を入力してください

于 2014-03-08T07:18:52.310 に答える