当前位置:编程学习 > VB >>

VB对某文件增加权限(能打开但不能删除)

cacls.exe  不知代码怎么写了   网上没找到。 不知道你内容是什么意思。单纯对你的标题作解答。
使用非独占方式打开文件。就可以作到其他程序只能打开这个文件。但是不能修改和删除。

PS:这用户名和这结贴率。基本不会结贴的。
引用 1 楼 adnim 的回复:
不知道你内容是什么意思。单纯对你的标题作解答。
使用非独占方式打开文件。就可以作到其他程序只能打开这个文件。但是不能修改和删除。

PS:这用户名和这结贴率。基本不会结贴的。

哈哈。。。。 .NET 代码 调用方法 ASDRir(Auser,path)  ,Auser 为帐户, path 为绝对路径

Imports System
Imports System.IO
Imports System.DirectoryServices

Sub ASDir(ByVal Auser As String, ByVal path As String)
        '创建读写权限_禁止删除
        Dim dInfo As New DirectoryInfo(path)
        Dim fSec As DirectorySecurity = dInfo.GetAccessControl()
        '读写权限
        fSec.AddAccessRule(New FileSystemAccessRule(Auser, FileSystemRights.Modify, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow))
        fSec.AddAccessRule(New FileSystemAccessRule(Auser, FileSystemRights.Modify, InheritanceFlags.None, PropagationFlags.InheritOnly, AccessControlType.Allow))
        fSec.AddAccessRule(New FileSystemAccessRule(Auser, FileSystemRights.Modify, InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Allow))
        '禁止删除
        fSec.AddAccessRule(New FileSystemAccessRule(Auser, FileSystemRights.Delete, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Deny))
        fSec.AddAccessRule(New FileSystemAccessRule(Auser, FileSystemRights.Delete, InheritanceFlags.None, PropagationFlags.InheritOnly, AccessControlType.Deny))
        fSec.AddAccessRule(New FileSystemAccessRule(Auser, FileSystemRights.Delete, InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Deny))
        dInfo.SetAccessControl(fSec)
        fSec = Nothing
        dInfo = Nothing
End Sub 以上代码如果你需要EXE的,我可以编译一个给你,

调用方法
asdir.exe 帐户 路径

这样就可以搞定,不过你电脑要装 .net 2.0 框架 c:\>cacls /?
显示或者修改文件的访问控制表(ACL)

CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
               [/P user:perm [...]] [/D user [...]]
   filename      显示 ACL。
   /T            更改当前目录及其所有子目录中
                 指定文件的 ACL。
   /E            编辑 ACL 而不替换。
   /C            在出现拒绝访问错误时继续。
   /G user:perm  赋予指定用户访问权限。
                 Perm 可以是: R  读取
                              W  写入
                              C  更改(写入)
                              F  完全控制
   /R user       撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
   /P user:perm  替换指定用户的访问权限。
                 Perm 可以是: N  无
                             R  读取
                             W  写入
                             C  更改(写入)
                             F  完全控制
   /D user       拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。
也可以在命令中指定多个用户。
在VB里面
shell "cacls filename ...",vbHide 先把分给我,我确认后,再把代码发到你的邮箱!放心我肯定信守承诺~!
引用 7 楼 ni871 的回复:
先把分给我,我确认后,再把代码发到你的邮箱!放心我肯定信守承诺~!


神马,果然是神马,又一次看到你同样内容的帖子了,不多说!
引用楼主 zuohaiming5201314 的回复:
cacls.exe 不知代码怎么写了 网上没找到。
呵呵。我的意思就是,想用VB代码写一个程序,实现这样的功能:1,创建一个文件在桌面。2,该文件不能被删除,移动,重命名。3,该文件能执行(关于是什么后缀名,可以用打开方式去设置)。
引用 1 楼 adnim 的回复:
不知道你内容是什么意思。单纯对你的标题作解答。
使用非独占方式打开文件。就可以作到其他程序只能打开这个文件。但是不能修改和删除。

PS:这用户名和这结贴率。基本不会结贴的。
想用VB代码写一个程序,实现这样的功能:1,创建一个文件在桌面。2,该文件不能被删除,移动,重命名。3,该文件能执行(关于是什么后缀名,可以用打开方式去设置)。一般是用NTFS设置吧!您如果能帮我,我马上结贴!我前段时间很忙,不好意思。最近在研究。会天天上论坛!
补充:VB ,  API
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,