如何让文件夹无法访问??? (100分)

  • 主题发起人 主题发起人 SunBurst
  • 开始时间 开始时间
S

SunBurst

Unregistered / Unconfirmed
GUEST, unregistred user!
如何让文件夹无法访问??当我的程序启动时,锁定某个文件夹,让其他任何程序都无法访问它<br>
 
你给他加锁~
 
可能要用到专门的加密软件或加锁工具;
 
呵呵, 给你个变通的思路, 程序启动时把文件夹改个特殊的名字, 让别人找不到
 
我要我自己写的程序运行时实现对某个文件夹锁定,要用别的工具,那我还问来干吗?<br>
 
看来都没人知道啊!!!<br>忧闷ing………………
 
使用Windows API的FileOpen函数,他有一个参数是共享锁定的,不明白的话自己去查查MSDN,不过你如果要使用它的话,前提是你的程序必须已经运行!<br>你的程序一运行,然后你就在Form1.FormCreate过程中打开这个文件夹,这是你再双击该文件夹时,哈哈,看到了吗?“该文件被另一个程序打开,无法访问!“
 
function FileLock(Fn:string):Boolean;<br>var i:integer;s:TOfStruct;style:Cardinal;HDL:HFile;Drive:string;<br>begin<br> style:=Of_Share_Exclusion; //独占方式<br> Drive:=UpperCase(Fn[1]);<br> s.fFixedDisk:=Ord(Drive&lt;&gt;'A'); //硬盘?<br> s.cbytes:=sizeof(s);<br> for i:=0 to length(fn) do <br> s.szPathName[i-1]:=Fn;<br> s.szPathName[i-1]:=chr(0); //填充文件名<br> hdl:=OpenFile(pchar(fn),s.style);<br> if hdl=HFile_Error then begin<br> Result:=true //文件锁定<br> else result:=false;<br>end;<br><br>如果你仅仅为了不让别人看见里面的内容,你可以把名称改作 cyclone.{00022603-0000-0000-C000-000000000046},这就将打开一个midi文件,改作 cyclone.{20D04FE0-3AEA-1069-A2D8-08002B30309D}将打开我的电脑
 
多人接受答案了。
 
function FileLock(Fn:string):Boolean;<br>var i:integer;s:TOfStruct;style:Cardinal;HDL:HFile;Drive:string;<br>begin<br>&nbsp;style:=OF_SHARE_EXCLUSIVE ; &nbsp;//独占方式<br>&nbsp;Drive:=UpperCase(Fn[1]);<br>&nbsp;s.fFixedDisk:=Ord(Drive&lt;&gt;'A'); &nbsp;//硬盘?<br>&nbsp;s.cbytes:=sizeof(s);<br>&nbsp;for i:=0 to length(fn) do &nbsp;<br>&nbsp; &nbsp;s.szPathName[i-1]:=Fn;<br>&nbsp;s.szPathName[i-1]:=chr(0); &nbsp;//填充文件名<br>&nbsp;hdl:=OpenFile(pchar(fn),s,style);<br>&nbsp;if hdl=HFile_Error then<br>&nbsp; &nbsp;Result:=true &nbsp;//文件锁定<br>&nbsp;else result:=false;<br>end;
 
后退
顶部