NTでフォルダーのアクセス権を変更するには?


ピン  2003-01-23 21:00:33  No: 2666

はじめまして ピンです。
早速の質問なんですが...
WindowsNTのフォルダ等のアクセス権を
コード上で変更したいんですが
APIヘルプを見ると、それらしき関数はあるみたいなんですが
意味合いの理解が出来ず、わかりません。
変更するユーザーはAdminiです。

どなたか、「この関数を使え」でもいいですから
教えていただけないでしょうか。


HPNews  2003-01-25 09:12:26  No: 2667

「チャミ」 SetNamedSecurityInfo関数を使え。以上です。
「ゆうこ」 なんや、それだけかい。シンプルな回答やな〜。
「チャミ」 だってぇ〜、ピンさんがそうおっしゃってるじゃないですか♪
「ゆうこ」 そやけど、もうチョイ花を添えたってもエエやろ。
「チャミ」 では、赤いチューリップを添えて… 花言葉は「美しい瞳」…まぁ私にピッタリ♪
「ゆうこ」 オイ!


ピン  2003-01-28 17:47:39  No: 2668

HPNewsさん、それと「チャミ」さん、「ゆうこ」さん
レス、ありがとうございます。

早速、やってみようと思います。
またお願いします。


ピン  2003-01-28 22:39:11  No: 2669

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;
以上、 よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加