1

ShellExecute(NULL, L"open", szSomeDirectory, 0, 0, SW_SHOWDEFAULT)エクスプローラーでディレクトリを開くために使用しています。

通常はプロンプトが表示されるディレクトリを開こうとしてYou currently do not have permission to access this folder.いますが、アクセスを取得してUACプロンプトを表示するオプションが表示されます。

ShellExecuteを実行していると、Explorerから「。」というエラーメッセージが表示されますAccess Denied

私のプログラムは管理者権限で実行されていますが、それは問題ではないようです。

このフォルダを開くためのアクセス権を取得するにはどうすればよいですか?

4

2 に答える 2

1

理解した。

私のユーザーアカウントはファイルにアクセスできませんでした。

私の解決策は、AccessCheck以前ShellExecuteにファイルにアクセスできるかどうかを確認するために使用し、アクセスできない場合SetNamedSecurityInfoは、フルアクセスのログオンユーザーアカウントにACEを追加するために使用することでした。

于 2012-08-31T19:26:51.427 に答える
0

プログラムのリンカマニフェストでUACレベルを設定できます。

これを見てください:奇妙なファイル-アプリが管理者として実行されている場合の許可

于 2012-08-31T16:05:48.497 に答える