0

Delphi 如何创建拒绝访问的文件夹或文件?

我希望只有我自己能够从 delphi 访问该文件夹/文件。

4

2 回答 2

3

只需在您的用户配置文件下创建一个文件。默认安全设置不允许其他用户访问。管理员自然有访问权限,但您无法对管理员隐藏。

于 2012-05-25T18:55:37.733 回答
3

你可以试试我的简化例子

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;

此代码将创建“C\test”文件夹并对其进行加密。您放入其中的任何文件都只能由所有者(您)访问。您可以在不同的用户下切换和登录,并进行测试。当然,您需要详细说明我上面的代码以检查目录是否存在,获取错误(如果有)并正确处理。

或者,您可以使用免费的加密工具 www.truecrypt.org 和 Delphi Truecrypt 组件,例如http://www.sdean12.org/SDeanComponents.htm#OTFETrueCrypt或 google 获取其他 Delphi Truecrypt 组件。但是,我从来没有尝试过这个。

于 2012-05-26T10:03:14.900 回答