ユーザーが出力セッションをテキスト ファイルに保存できるプログラムがあります。これは問題なく動作しますが、ファイルを などの場所に保存しようとすると、次のようなC:\
エラー ダイアログが表示されます。
You don't have permission to save to this location. Contact the administrator to obtain permission. Would you like to save to the Documents folder instead?
いいえをクリックすると、操作がキャンセルされるだけだと思って、アプリケーションがクラッシュします。アプリケーションに管理者特権を要求したくありませんが、ファイルを保存しようとするときに、ユーザーに特権を提供するように求める方法 (UAC ダイアログを表示する、必要に応じて認証を提供するなど)。ユーザーがアクセス許可を提供できない場合、ユーザーが保存するアクセス許可を持つ場所を選択するか、キャンセルを押すまで、ファイルの保存ダイアログにとどまりたいと思います。ユーザーがアクセス許可が必要な場所にファイルを保存するときだけに、プログラムの起動時に許可を求められることを本当に望んでいません。
ところで、私は現在、アプリケーションを実行するときに管理者としてログインしています。これは、Windows Vista を実行しているコンピューターで唯一のアカウントです。