C:\windows\XXX
アプリケーションの「TrustedInstaller」の下の (Vista では Windows で保護されたフォルダー) にいくつかのファイルを追加したいと考えています。ファイルを置き換えたくないので、Windows リソース (以前のファイル) 保護に問題はありません。「所有権」を現在ログインしている管理者に変更するコードがありますが、プログラムでファイルのアクセス許可を設定する方法がわかりません。開発には VC++/MFC を使用しています。
ありがとう
C:\windows\XXX
アプリケーションの「TrustedInstaller」の下の (Vista では Windows で保護されたフォルダー) にいくつかのファイルを追加したいと考えています。ファイルを置き換えたくないので、Windows リソース (以前のファイル) 保護に問題はありません。「所有権」を現在ログインしている管理者に変更するコードがありますが、プログラムでファイルのアクセス許可を設定する方法がわかりません。開発には VC++/MFC を使用しています。
ありがとう
あなたが実際に何を望んでいるかは 100% わかりません (TrustedInstaller がファイルをインストールしたように見せたいですか?) が、SetNamedSecurityInfo を使用するこの例を見てください。通常、ファイルの随意アクセス制御リスト (DACL) を構築する必要がありますが、DACL をゼロから構築するのはかなり煩わしいため、GetNamedSecurityInfo を使用して複製したいアクセス許可を持つ別のファイルから 1 つを「借りる」ことができます。
これを行う簡単な方法は、システム関数を使用して、必要なパラメーターを使用してicaclsを実行することです。cstdlib(#include <cstdlib>)にあることに注意してください
system("icacls <params>");