如何防止一个文件被拷贝?比如一个机密的文件,不想被别人拷贝走了,编程如何实现.

解决方案 »

  1.   

    关注。
    比如SQLServer 中的MDF和LOG的文件就不允许复制
      

  2.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/file_security_and_access_rights.asp
      

  3.   

    比如SQLServer 中的MDF和LOG的文件就不允许复制
    ------------------------------------------------
    谁说不允许复制....
    你的SQLServer 正在运行,肯定不能复制,把SQLServer 关了试试.
      

  4.   

    目前应该没有任何一个程序能实现你的效果.
    比如你写了个程序在WIN下监视控制,那么完全可以使用启动光盘从DOS启动,
    然后拷贝.
    如果你CMOS加了密码,那么还能放电.现在企业级别的密级中对于文件的保密有如下方式:在无权限的情况下,不能启用网络功能,不能访问外网甚至局域网
    不允许使用软驱,不允许使用光驱刻录
    不允许使用USB移动存储设备从电脑与外部的交流上控制住.
      

  5.   

    用一个程序始终锁定访问该文件,则不能复制,等你自己要用的时候在close掉即可
    Private Sub Command1_Click()
        Open "c:\1.txt" For Binary Access Read Lock Read As #1
    End SubPrivate Sub Command2_Click()
        Close #1
    End Sub
      

  6.   

    同意lxcc(虫子|需要点勇气和信心)的办法.
      

  7.   

    ( lxcc(虫子|需要点勇气和信心)的方法也可以,但是如果懂得电脑的人,可能知道有一个程序在使用这个文件,他可能会找你那个程序把它给关了,我觉得用API来得到WINDOWS的操作,如果是删除就出现其它的提示信息或是不提示,不过,其体是那个API还在查找当我,呵!!!!!
      

  8.   

    LockFile或者LockFileEx的API是可以的,但是太复杂,有兴趣可以看看
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/file_security_and_access_rights.asp
      

  9.   

    如果你的文件系统是ntfs的话 可以设置一下权限
      

  10.   

    回复: helanshan(C++) (
    谁说不允许复制....
    你的SQLServer 正在运行,肯定不能复制,把SQLServer 关了试试.================================
    现在楼主就希望做个“SQLServer”,只不过不允许“SQLServer”能够停止服务而已。
      

  11.   

    文件系统是NTFS的话,利用加密也可以啊,
      

  12.   

    要我说呢 拦截COPY文件的几个API,和打开文件的那几个API函数,最好了
     最简单的呢,呵呵,你把系统的RPC等那几个服务给关了,嘿嘿,绝对考不成,不过估计
    系统也要有点问题