当前位置: 代码迷 >> VB Dotnet >> VB.net操作ACCESS数据库,文件不是只读,但是当前用户没ntfs的写入权限
  详细解决方案

VB.net操作ACCESS数据库,文件不是只读,但是当前用户没ntfs的写入权限

热度:126   发布时间:2016-04-25 02:08:10.0
VB.net操作ACCESS数据库,文件不是只读,但是当前用户没有ntfs的写入权限
VB.net操作ACCESS数据库,文件不是只读,但是当前用户没有ntfs的写入权限。
运行程序的时候用try,是产生了异常,也能用massagebox显示,但是长篇大论不知所云。
能不能在写程序的时候事先检测这种状况?
现在我用文件的属性方法可以检测文件的只读,io.fileattributes.readonly。
但是这个方法只有文件设置只读属性才管用,对NTFS不管用。

求方法
------解决思路----------------------
定义函数:
 Friend Function IsRunAsAdmin() As Boolean
        Dim principal As New WindowsPrincipal(WindowsIdentity.GetCurrent) '定义权限变量
        Return principal.IsInRole(WindowsBuiltInRole.Administrator) '返回当前权限
    End Function
 使用:
If IsRunAsAdmin() = False Then MessageBox.Show("当前用户权限低,无法对" & Strings.Left(Environment.GetEnvironmentVariable("windir"), 1) & "盘上的文件进行操作!" & vbCrLf & "建议以管理员身份运行", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
用这个在程序开头可以判断是否拥有管理员权限,如果没有提示以管理员身份运行!
------解决思路----------------------
引用:
Quote: 引用:

想不报错,加个try,catch,遇到错误统一输出:没有权限,就完了

现在就是这么做的,输出一个满屏英文的报错信息。
我提问就是想要识别它,对这种异常给出提示。

你既然加了try,catch,catch里就不要再把错误throw出来了,自己写个弹窗,自己定义要显示什么文字
  相关解决方案