大家好,我听说可以用winapi来改变一个文件的权限,把复制和剪切这两个文件权限去掉,使这个文件不能复制和剪切,这样可以做到吗,就好给点源代码吧.(注意:我这个文件是一个EXE文件)

解决方案 »

  1.   

    那有什么方法可以不能给人复制和剪切啊~~~~~有没有一些filelock之类的方法可以用啊
      

  2.   

    文件可以读就可以复制。所以要实现只读却不能复制是不可以的。
    但是如果只是要在Explorer中不能复制却可以做到。用API钩子,拦截CopyFile的API。
      

  3.   

    在windows上用NTFS 适当地设置权限可以实现文件名可以看到但是不可剪切/复制,当然文件内容也不能访问。
      

  4.   

    我之前也做了一个API钩子.拦截CopyFile和CopyFileEx这两个API,但是没返应,可能Windows在做复制的时候是直接调用最底层的东西,所以拦截不到,除了这两个API之外,还有没有其它的API是用来复制的吗?
    我一定要自已可以运行,但是别人不能复制,能不能把文件夹高级隐藏了,用户在Windows下不能找到,自然就没办法复制了.
      

  5.   

    如你说的只要让文件不可读就行了, NTFS 格式下的文件可以取消文件读取权限这样的文件就是只能看到存在那里,但不能打开也不能复制,剪切
      

  6.   

    今天我的个人博客 David new City (www.davidnewcity.com)正式开通,他是我的新城市,也希望是大家的一个新城市。我希望可以和所有坦诚相待的人一起分享我的思想、一起经历我的经历。在这个新的城市里大家可以彼坦诚相待的互相学习、互相提高。一个人的力量虽小,但是联合大家的思想联合大家的行动,我们每个人内心最神圣的追求终究是可以实现的,一直前进。 
      

  7.   

    对文件读操作的Api有
    CopyFileA
    CopyFileW
    CopyFileExA
    CopyFileExW
    CopyLZFileReadFile
    ReadFileEx但以上Api在Explorer.exe的输入表中没有找到,可能用的是显示链接
    你可以挂接GetProcAddress()涵数在其输入表中,找到对文件操作的Api有CreateFileW()
      

  8.   

    CopyFileA
    CopyFileW
    CopyFileExA
    CopyFileExW
    上面的我都试过了,钩了之后,没有反应.到底要钩哪个函数.有没有好的方法可以隐藏这个文件.在Windows下看不见就行了.