2012-01-12 2 views
0

Я пытаюсь создать программу, где я могу хранить свои собственные файлы и иметь возможность поместить пароль при открытии программы. Как только я введу пароль, я бы смог получить доступ, внести изменения и открыть мои файлы, которые я выбрал для ввода. Любые идеи или ссылки на то, как я могу это сделать? Любая помощь приветствуется. Я попробовал это, но получаю UnauthorizedAccessException. Я понимаю, когда она достигает: For Each mDirectory As IO.DirectoryInfo В mNodeDirectory.GetDirectories в TreeView1_BeforeExpandКак создать свой собственный Windows Explorer

    Private mRootPath As String = "C:\Users" 
Property RootPath As String 
    Get 
     Return mRootPath 
    End Get 
    Set(ByVal value As String) 
     mRootPath = value 
    End Set 
End Property 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim mRootNode As New TreeNode 
    mRootNode.Text = RootPath 
    mRootNode.Tag = RootPath 
    mRootNode.Nodes.Add("*DUMMY*") 
    TreeView1.Nodes.Add(mRootNode) 
End Sub 

Private Sub TreeView1_BeforeCollapse(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeCollapse 
    ' clear the node that is being collapsed 
    e.Node.Nodes.Clear() 
    ' add a dummy TreeNode to the node being collapsed so it is expandable 
    e.Node.Nodes.Add("*DUMMY*") 
End Sub 

Private Sub TreeView1_BeforeExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeExpand 
    ' clear the expanding node so we can re-populate it, or else we end up with duplicate nodes 
    e.Node.Nodes.Clear() 
    ' get the directory representing this node 
    Dim mNodeDirectory As IO.DirectoryInfo 
    mNodeDirectory = New System.IO.DirectoryInfo(e.Node.Tag.ToString) 
    ' add each subdirectory from the file system to the expanding node as a child node 
    For Each mDirectory As IO.DirectoryInfo In mNodeDirectory.GetDirectories 
     ' declare a child TreeNode for the next subdirectory 
     Dim mDirectoryNode As New TreeNode 
     ' store the full path to this directory in the child TreeNode's Tag property 
     mDirectoryNode.Tag = mDirectory.FullName 
     ' set the child TreeNodes's display text 
     mDirectoryNode.Text = mDirectory.Name 
     ' add a dummy TreeNode to this child TreeNode to make it expandable 
     mDirectoryNode.Nodes.Add("*DUMMY*") 
     ' add this child TreeNode to the expanding TreeNode 
     e.Node.Nodes.Add(mDirectoryNode) 
    Next 
End Sub 

End Class

Кстати, я не писал выше код, я попытался его ссылку Я нашел

+0

* Я получаю UnauthorizedAccessException * ... в какой момент? – IAbstract

+0

Вы должны сосредоточиться на единственной проблеме, с которой вы сталкиваетесь, и подойти к этому вопросу так: ваше название не отражает вопрос, который вы задаете. В небольшом объеме фона присутствует конкретная проблема, с которой вы сталкиваетесь, и код подозреваемого, где возникает проблема. Вы всегда должны указывать ссылку на код, который вы скопировали с веб-сайта, поэтому автор получает надлежащий кредит. – IAbstract

+0

Было бы полезно узнать, в какой версии Windows вы работаете. У XP нет административных значений по умолчанию, установленных Windows 7. – IAbstract

ответ

1

Возможно ли, что у вас нет административных привилегий?

Возможно, вам стоит попробовать другой mRootPath Добавление папок в c: \ Users требует прав администратора.

+0

Эй, я закрыл vs10 и открыл его как администратор – TMan

+0

Все еще не работал, хотя – TMan

+0

@Jordan: код в образце OPs не добавляет никаких папок. Он просто получает информацию о каталоге. Возможно, попробуйте вместо этого использовать статические методы «Directory». Получение «DirectoryInfo» может выполнять некоторые дополнительные операции ... – IAbstract

0

Чтобы предоставить свои права администратора приложения, сначала войдите в свойства своего проекта и нажмите кнопку View Windows Settings на вкладке Application. Замените существующий тег requestedExecutionLevel на <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />.

Смежные вопросы