Access to the path is denied.

Status
Niet open voor verdere reacties.

christian1122

Gebruiker
Lid geworden
7 nov 2011
Berichten
32
ik ben bezig met mission imposible :p
ik ben een antivirus aan het maken
ik zit alleen met een probleempje. het programma kan niet alles scannen
ik krijg de error
Access to the path 'C:\$Recycle.Bin\S-1-5-18\' is denied.
ik heb try geprobeerd maar dan stopt hij de hele scan meteen
wat ik wil is dat als een file niet gescant kan worden (lees de hash niet gelezen kan worden)
dat hij het bestand dan gewoon overslaat
dit is de code waar het mis gaat:
For Each File In System.IO.Directory.GetFiles(drname, "*", SearchOption.AllDirectories)
 
$Recycle.Bin is een verborgen map waar je normaal gesproken geen toegang toe hebt.
Probeer eens onder je Catch statement het volgende te zetten:

Continue Next

Als het goed is gaat tie dan gewoon verder met het volgende item in je loop.
 
$Recycle.Bin is een verborgen map waar je normaal gesproken geen toegang toe hebt.
Probeer eens onder je Catch statement het volgende te zetten:

Continue Next

Als het goed is gaat tie dan gewoon verder met het volgende item in je loop.

bedankt dat werkte inderdaad

alleen heb ik nu nog een soort time out code nodig
hij gaat namelijk ieder bestand langs in $Recycle.Bin en wacht bij ieder bestand iets van 10 seconden voordat hij doorgaat naar de volgende waardoor het scannen van de computer nu een paar uur duurt ipv 5 minuutjes.

en als je toevallig ook een code weet waarmee hij bestanden groter dan 200mb overslaat zou dat ook super zijn (maar dat is niet nodig om het pogramma te laten werken dus dat hoeft niet perse hoor :p)
 
Je kunt natuurlijk de hele recycle bin overslaan met scannen - zit daar nou net lekker het virus in... dus beter zou zijn om applicatie op LocalSystem Niveau uit te voeren, maar dat even terzijde
Code:
        For Each FileName As String In System.IO.Directory.GetFiles(drname, "*", SearchOption.AllDirectories)
            Dim f As New System.IO.FileInfo(FileName)
            If f.DirectoryName <> "$Recycle.Bin" then
                If f.Length < 200000 Then
                     'code here
                 End If
            End If
        Next
 
Je kunt natuurlijk de hele recycle bin overslaan met scannen - zit daar nou net lekker het virus in... dus beter zou zijn om applicatie op LocalSystem Niveau uit te voeren, maar dat even terzijde
Code:
        For Each FileName As String In System.IO.Directory.GetFiles(drname, "*", SearchOption.AllDirectories)
            Dim f As New System.IO.FileInfo(FileName)
            If f.DirectoryName <> "$Recycle.Bin" then
                If f.Length < 200000 Then
                     'code here
                 End If
            End If
        Next

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
had ik ook al geprobeerd maar werkte niet ;)
ik ga nu die code van je uit proberen


Error 1 'drname' is not declared. It may be inaccessible due to its protection level.
wat bedoelen ze met "may be inaccessible due to its protection level"? de hoogst mogelijke execution level is al gegeven
 
Laatst bewerkt:
ik zat te denken is het mogelijk om een timer + progressbar te maken en dat de progressbar na 3 sec vol zit
en dan
if progressbar1.value=progressbar1.maximum then
continue next
end if
alleen hoe kan ik dan weer zorgen dat de progressbar na ieder gescand item weer naar minimum gaat?



bij nader in zien gaat dit ook niet lukken.
iedere keer als het programma een programma tegen komt die read only is loopt hij vast en na 10 sec gaat hij weer verder. in die 10 sec loopt dus ook de progressbar vast. daar heb ik dus niets aan

weet iemand een code die kijkt of een bestand read only is en hem skipt
op die manier kan hij de bestanden overslaan nog voordat hij vastloopt en dat scheelt weer een hoop tijd
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan