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)
用这个在程序开头可以判断是否拥有管理员权限,如果没有提示以管理员身份运行!
------解决思路----------------------
你既然加了try,catch,catch里就不要再把错误throw出来了,自己写个弹窗,自己定义要显示什么文字