I'm making a program that allows me to control my other computer from this one by encoding and streaming the commands I enter into a console to the destination, which then decodes it and does what the command says and encodes the result and streams it back, then my side decodes it and shows the result in a console. Basically it's like command prompt I can run over a network.
One big problem I'm having is UnauthorizedAccessExceptions when it tries to access certain directories for any reason. For example, this simple code, which lists all the directories works fine but when I have it count the 1st level subdirectories in those directories (Second For Each) I get an UnauthorizedAccessException sometimes (Depends on the main directory). For example, if I use the command on C:\, I'll get an "Access to the path 'C:\Documents and Settings' is denied." error.
How can I grant my program unrestricted access or at least enough access to be able to get into directories like Documents and Settings? Also, I am unable to access Documents and Settings through explorer, I get the same error. I'm on Win7, so I'm guessing it's system protected as it's hidden and inaccessible.
Public Function Dir(ByVal Direc As String)
Dim Results As String = String.Empty
Dim DirC As Integer = 0
Dim DirC2 As Integer = 0
Try
If Direc.Contains("DIR") Then
Dim Text As String = Direc
Dim Tree As String = Text.Replace("DIR ", String.Empty)
For Each Directory In My.Computer.FileSystem.GetDirectories(Tree)
DirC = DirC + 1
For Each Dir2 In My.Computer.FileSystem.GetDirectories(Directory)
Try
DirC2 = DirC2 + 1
Catch ex As Exception
Results = ex.Message & vbNewLine
End Try
Next
Results = Directory & " (" & DirC2 & " Subfolder(s))" & vbNewLine
Next
Results &= vbNewLine
End If
Catch ex As IO.DirectoryNotFoundException
If Main.IP <> String.Empty Then
Results = "The directory: " & Tree & " does not exist." & vbNewLine
End If
Catch ex As Exception
Results = ex.Message
End Try
Return Results
End Function