2

私のプログラムは管理者として実行する必要があり、いくつかのファイルを作成します。アイコンを右クリックして[管理者として実行]を選択して手動で実行すると、すべて問題ありません。すべてのユーザーが作成されたファイルにアクセスできます。ただし、ShellExecuteExによって「runas」動詞を使用して別のプログラムからプログラムを起動した場合、作成されたファイルにはBUILTIN\Usersグループのアクセスエントリがありません。管理者ユーザーのみがこれらのファイルを読み取ることができます。

4

1 に答える 1

0

リンカーフラグを設定しないのはなぜですか(VC2008以降):リンカー->マニフェスト-> UAC実行レベル:requireAdministrator(/ level ='requireAdministrator')

編集:質問を読み直したところ、問題はおそらくNTFSファイルのセキュリティにあることがわかりました。これはプログラムのせいではありませんが、これは仕様によるものです。ファイルとフォルダを作成するすべてのユーザーには、そのユーザーにのみアクセス許可が与えられます。

管理者ユーザーとしてログインし、フォルダーを作成します。次に、別のユーザーとして再ログインし(ただし、好きなように)、そのフォルダーにアクセス/読み取り/書き込み/削除してみてください。できません。権限は、everyone / users-groupではなく、管理者ユーザーに付与されます。

于 2011-06-19T08:25:35.960 に答える