Ух ты ... в этой ветке много низкоуровневого кода безопасности - большая часть которого у меня тоже не сработала - хотя я многому научился в процессе. Одна вещь, которую я узнал, заключается в том, что большая часть этого кода не предназначена для приложений, которые ищут права доступа для каждого пользователя, - для администраторов, желающих программно изменять права, что, как было отмечено, составляет , а не * 1002. * хорошая вещь. Как разработчик, я не могу использовать «легкий выход» - работая от имени администратора, - который - я не один на машине, на которой выполняется код, и не мои пользователи, - настолько же, насколько умны эти решения. - они не для моей ситуации и, вероятно, не для большинства рядовых разработчиков.
Как и большинство постеров этого типа вопроса - я изначально чувствовал, что это тоже "хаккей" - с тех пор я решил, что это вполне нормально, попробовать и позволить возможному исключению точно сказать, какие у пользователя права - потому что информация, которую я получил, не говорила мне о том, какие права были на самом деле. Код ниже - сделал.
Private Function CheckUserAccessLevel(folder As String) As Boolean
Try
Dim newDir As String = String.Format("{0}{1}{2}",
folder,
If(folder.EndsWith("\"),
"",
"\"),
"LookWhatICanDo")
Dim lookWhatICanDo = Directory.CreateDirectory(newDir)
Directory.Delete(newDir)
Return True
Catch ex As Exception
Return False
End Try
Функция завершения