我通过DACL可以禁用或启用软盘,但是没有办法将其设为只读,不知道谁有办法解决。谢谢。成功就结帖。

解决方案 »

  1.   

    hook 写文件相关的api,在要写入的时候,先对驱动器类型进行判断,如果为软驱,则return 0;从而跳过写文件的步骤。
      

  2.   

    我用的不是hook 我想直接用DACL,它可以控制某个用户是否可以用软盘,我在用addaccessallowedace这个函数时,不知道第三个参数怎样设置才可以达到只读的效果,请指教,主要是一个标志?
      

  3.   

    软盘的读写控制是软盘驱动器(fdc)用硬件实现的,虽然你可以在os中做一些手脚,但直接端口读写,很简单就可以绕过,虽然读出目录结构和数据比较麻烦,但破坏其中的数据非常简单。我看不行。
      

  4.   

    肯定可以的,因为有个软件叫devicelock就能完成这样的功能,而且还可以控制对磁盘的格式化。不信可以看看。
      

  5.   


    AddAccessAllowedAce(&acl,ACL_REVISION,GENERIC_READ,&sid) ;
    试一下
      

  6.   

    不行呀,好像这个对NTFS格式的文件系统可以,但是对FAT32的就没有作用了,麻烦楼上赐教。