掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
NTでフォルダーのアクセス権を変更するには? (ID:2669)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
HPNewsさん、それと「チャミ」さん、「ゆうこ」さん から教えてもらった SetNamedSecurityInfoを色々調べるとVBのコードを見つけ それを自分なりに調べながらやってみたのですが どうしてもうまく行きません。 下にコードを書きますのでおかしいところをご指摘していただけないでしょうか。 //英語のページを見つけこうしろ言われこうしました。 function MySetEntriesInAcl(cCountOfExplicitEntries: ULONG; pListOfExplicitEntries: PEXPLICIT_ACCESS_A; OldAcl: PACL; var NewAcl: PACL): DWORD; stdcall; function MYSetEntriesInAcl; external 'ACLAPI.DLL' name 'SetEntriesInAclA'; procedure TForm1.Button1Click(Sender: TObject); var RetInt:DWORD; FilePath,MsgStr:string; pDACL:PEXPLICIT_ACCESS_A; pOldDACL, pNewDACL:PACL ; begin FilePath:= IncludeTrailingBackslash(DirectoryListBox1.Directory) + ListBox2.Items[ListBox2.ItemIndex]; Panel4.Caption:= FilePath; if not IsNTFS(FilePath) then begin Label3.Caption:= '選択ドライブはNTFSでないため、取得できません。'; Exit; end; RetInt:= MySetEntriesInAcl(1,pDACL,pOldDACL,pNewDACL); if RetInt<>0 then begin ShowMessage(SysErrorMessage(GetLastError)); Exit; end else begin RetInt:= SetNamedSecurityInfo(PChar(FilePath), SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, pNewDACL, nil); if RetInt<>0 then begin ShowMessage(SysErrorMEssage(GetLAstError)); Exit; end; end; end; 以上、 よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.