2012-05-25 3 views
0

어떻게 액세스 거부 폴더 또는 파일을 Delphi로 만들 수 있습니까?델파이에서 액세스 거부 폴더를 만들려면 어떻게해야합니까?

저는 델파이에서 해당 폴더/파일에 액세스 할 수 있기를 바랍니다.

+0

Windows의 최신 버전에서 사용자 응용 프로그램의 폴더에 대한 파일 사용 권한이 운영 체제에 의해 차단 될 수 있습니다. 그럼에도 불구하고 JEDI API 라이브러리/JEDI 보안 코드 라이브러리가 도움이 될 수 있습니다. JWSCL과 함께 제공되는 데모를 확인하십시오. http://sourceforge.net/projects/jedi-apilib/ –

답변

3

사용자 프로필 아래에 파일을 만드십시오. 기본 보안 설정은 다른 사용자의 액세스를 허용하지 않습니다. 당연히 관리자는 액세스 할 수 있지만 관리자로부터 숨길 수는 없습니다.

+0

tnx. 델파이에서 저를 보여줄 수 있다고 ctreatr하고 싶습니다. –

+0

ShGetSpecialFolderPath에 대한 링크를 참조하십시오 : http://delphi.about.com/od/delphitips2007/qt/mydocuments.htm –

3

당신은이 코드는 'C \ 테스트'폴더를 생성하고 암호화합니다

interface 
... 
    function EncryptFileA(lpFilename: PAnsiChar): BOOL; stdcall; 
    {$EXTERNALSYM EncryptFileA} 
... 
implementation 
... 
    // Delphi wrongly register function EncryptFileA under kernel32.dll. 
    // Just re-register it using AdvApi32.dll 
    function EncryptFileA; external AdvApi32 name 'EncryptFileA'; 
... 
procedure TForm1.btn1Click(Sender: TObject); 
begin 
    CreateDirectory('c:\test', nil); 
    EncryptFileA('c:\test'); 
end; 

내 간단한 예를 시도 할 수 있습니다. 당신이 그것에 넣어 파일은 소유자 (당신)에 의해서만 액세스 할 수 있습니다. 다른 사용자로 전환하고 로그인하여 테스트 할 수 있습니다. 물론 디렉토리가 존재하는지, 에러가 발생했는지, 제대로 처리되었는지를 확인하기 위해 위 코드를 작성해야합니다.

또는 무료 암호화 도구 인 www.truecrypt.org와 Delphi Truecrypt 구성 요소 (예 : http://www.sdean12.org/SDeanComponents.htm#OTFETrueCrypt) 또는 다른 Delphi Truecrypt 구성 요소 용 google을 사용할 수 있습니다. 그러나, 나는 결코 이것을 시도하지 않는다.

+0

당신은 당신의 코드가 작동하지 않습니다 !! –

+0

Win XP SP3에서 D7로 코드를 테스트합니다. 암호화 된 폴더를 만듭니다 (Win 탐색기 아래에 초록색 글꼴로 표시). 그런 다음 간단한 텍스트 파일을 만들고 기존 파일을 해당 폴더에 복사합니다. 현재 사용자를 사용하여 액세스 할 수 있지만 다른 사용자로 전환하면 파일에 액세스 할 수 없습니다 (읽기, 쓰기, 삭제할 수 없음). '작동하지 않는다'고 자세히 설명해 주시겠습니까? 그것은 컴파일 오류 또는 runtine 오류 또는 ...? – Hendra

+0

내 대답 – Hendra

관련 문제