掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォルダのアクセス権について (ID:21988)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
どうもアプローチ方法が違うみたいです。 私もこのスレッドをみて始めて調べてみたので詳しくありませんが、 フォントのインストール失敗はアクセス権とは余り関わりが無いみたいです。 そもそもフォントがインストールできないエラーは頻発するみたいです。 googleで調べるとFAQで結構出てきます。 「〜ファイルは現在使用中であるため…」と出てインストールできない h ttp://www.petitboys.com/design/mt/archives/000173.html ユーザー名が日本語の場合にインストールエラー h ttp://www.screen.co.jp/ga_product/sento/support/ttf_avoid_inst_error.html NTFSファイルのアクセス件についても調べましたが、こちらも見た感じ無茶苦茶っぽいですね…もう何が何だかって感じです。 一応、NTFSで書き込み可能かどうか調べる関数については調べ一応動作しますが、意味不明です。 function NTFSFileWritable(filename: string):boolean; //h ttp://www.bpsoftware.com/blog/2005_11_01_archive.html function IsNTFS(AFileName: string): Boolean; var NotUsed: DWORD; VolumeFlags: DWORD; VolumeInfo: array[0..MAX_PATH] of Char; VolumeSerialNumber: DWORD; PartitionType: array[0..32] of Char; begin GetVolumeInformation(PChar(ExtractFileDrive(AFileName)+'\'), nil, SizeOf(VolumeInfo), @VolumeSerialNumber, NotUsed, VolumeFlags, PartitionType, 32); Result := (PartitionType = 'NTFS'); end; type TEAArray = Array [0..0] of EXPLICIT_ACCESS; PEAArray = ^TEAArray; var pSD: PSECURITY_DESCRIPTOR; countofexplicitentries: Cardinal; ListOfExplicitEntries: PEXPLICIT_ACCESS_A; EAList: PEAArray; pExplicitAccess: EXPLICIT_ACCESS; pDACL: PACL; i: integer; begin Result:=False; if IsNTFS(filename)=False then begin Result:=True; exit; end; if not (GetNamedSecurityInfo(PChar(filename),SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, Nil, Nil, @pDACL, Nil,pSD)=0) then begin Exit; end; GetMem(ListOfExplicitEntries,SizeOf(ListOfExplicitEntries)); if GetExplicitEntriesFromAcl(pDACL^,countofexplicitentries,@EAList) <> ERROR_SUCCESS then begin FreeMem(ListOfExplicitEntries); Exit; end; if (countofexplicitentries > 0) then for i:= 0 to countofexplicitentries - 1 do begin pExplicitAccess:= EAList[i]; if pExplicitAccess.grfAccessMode = DENY_ACCESS then begin FreeMem(ListOfExplicitEntries); Exit; end; end; Result:=True; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.