Visual Basic Listbox Code Help!

Status
Niet open voor verdere reacties.

jyppino

Gebruiker
Lid geworden
6 sep 2009
Berichten
285
Ik heb een code nodig om te kijken of er iets in de listbox zit.
Ik dacht dat het erg makkelijk is maar dat is het toch niet.
Dit is de code die ik probeerde te gebruiken:

Code:
If listbox1.text = "" then
Maar dit lukte niet.
Iemand een oplossing?
alvast bedankt.

ps. Ik ben geen expert in visual basic, dus waarschijnlijk is de oplossing erg simpel.
 
bedankt, het werkt.
Maar nu heb ik een ander probleem.
Code:
Dim targetfile As String
            targetfile = "C:\WINDOWS\system32\cmd.exe"
            Kill("C:\Program Files (x86)\lol.txt")
            Kill("C:\Program Files\180search Assistant/hsr.dll")
            Kill("C:\Program Files\180search Assistant/sachook.dll")
Als het bestand niet bestaat bijv. C:\Program Files\180search Assistant/hsr.dll krijg ik een error en sluit het programma af.
Is er een manier dat als het bestand niet bestaad, het gewoon doorgaat naar het volgende bestand verwijderen?

example:
C:\Program Files\180search Assistant/hsr.dll bestaat niet.
In plaats van een error te geven gaat het door naar het volgende bestand:
C:\Program Files\180search Assistant/sachook.dll
 
Ja dat is zeker mogelijk, je kan bijvoorbeeld gebruik maken van een loop. Hier is een voorbeeldje (en dit doe ik direct uit mn hoofd zonder VB erbij te pakken, dus mogelijk werkt het niet 100%):

Je begint met het aanmaken van een string array waarin je alle bestanden die gekilled moeten worden plaatst:

Code:
        Dim ListOfFilesToKill(2) As String 'Een array waarin maximaal 3 items in geplaatst kunnen worden

Vervolgens vul je de array met de bestanden die gechecked moeten worden:

Code:
        ListOfFilesToKill(0) = "C:\Program Files (x86)\lol.txt" 'Item 1
        ListOfFilesToKill(1) = "C:\Program Files\180search Assistant/hsr.dll" 'Item 2
        ListOfFilesToKill(2) = "C:\Program Files\180search Assistant/sachook.dll" 'Item 3

Nou kan dat ook op een manier die misschien beter is, je kan ook via een loopje die array vullen. In dit geval doe ik dat niet omdat ik niet weet om welke bestanden het allemaal gaat en of dat altijd dezelfde bestanden zijn. Als dat wel zo is en het zijn er altijd evenveel, dan voldoet de bovenstaande methode prima.

Daarna loopen we door elke item in de array en kijken we of die gekilled kan worden:

Code:
        For Each File In ListOfFilesToKill 'Voor elk item (of bestand) in de array

            Try 'Probeer...
                Kill(File) '...het bestand te killlen
            Catch ex As Exception 'Lukt dat niet (bv doordat het bestand niet bestaat), ga dan door met het volgende item
'Je kan hier eventueel een msgbox plaatsen om de gebruiker te laten weten welke bestanden niet gekilled konden worden
            End Try

        Next

Met het Try Catch statement kun je eventuele error opvangen, in dit geval dus de error die je krijgt als een bestand in de array niet bestaat. In dat geval slaat tie em over en gaat tie door met het volgende item in de array.
 
Laatst bewerkt:
Nog een klein probleem.
Het programma gaat zoeken in: C:/program files/............
Maar in vista zit bijna alles in: C:/program files(X84)/.......
Is er een manier waarbij de scanner gaat kijken of het vista/xp is en dan daaruit in de goede program files gaat zoeken?

Of moet ik ingewikkeld gaan doen: (ik doe het snel, er zitten hartstikke veel fouten in, maar je begrijpt het wel)
Code:
Vista:
if file.exists("C:/program files(X84/)") then
if file exists ("Virus.exe") then listbox1.item.add("Virus")
Code:
XP:
if fle.exists("C:/program files") then
if file exists ("Virus.exe") then listbox1.item.add("Virus")

Alvast bedankt.
 
Ja, er is iets als:

If My.Computer.OperatingSystem = XP Then
'do stuff
Else If My.Computer.OperatingSystem = Vista Then
'do stuff
End If

Zoiets. Ik weet zeker dat zoiets is, Google ff anders.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan