Archief - [PROG][VB.NET][VBS] VBS naar .NET code

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

BlackZ

Legacy Member
Ik heb een VB script om een Softwarelijst te maken van BIJNA al de geinstalleerde software op een systeem. Dit lijstje maakt hij in een TXT bestandje.

Nu zou ik willen dit VBS Scriptje om willen zetten zodat ik het in een VB.NET prog kan gebruiken. Ik heb al wat geprobeerd te prutsen met de variabelen te declareren maar is nog niet echt gelukt.

Iemand die ervaring heeft met VBS om te zetten in .NET taaltje ?
Denk niet dat ik veel aan de code moet veranderen , enkel mss de variabelen.
Het VBS scriptje vind je hier onder en het VB.NET probeersel daaronder

Dit is het VBS Script :

Code:
dim fso, MyFile

Const HKLM = &H80000002 
Set objRegistry = GetObject("winmgmts://./root/default:StdRegProv") 
sBaseKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" 
arrKeys = objRegistry.EnumKey(HKLM, sBaseKey, arSubKeys) 

'Lege textfile met naam "NEW_SoftwareList.txt" aanmaken
Set fso = Createobject("Scripting.FileSystemObject")
set Myfile = fso.createTextFile("NEW_SoftwareList.txt" ,true)

For Each sKey In arSubKeys
	'Enkel de Naam uit registry halen van de software
    objRegistry.GetStringValue HKLM, sBaseKey & sKey, "DisplayName", strName 
    If Trim(strName) <> "" Then 	
		'Software naam writen in NEW_SoftwareList.txt
		Myfile.writeline(strname)
    End If 
Next
 
'NEW_SoftwareList.txt Sluiten
Myfile.close




En dit is het probeersel in .NET

Code:
Public Class ScanSoft
    Inherits System.Windows.Forms.Form
    Dim objRegistry As Object
    Dim sBaseKey As String
    Dim arrKeys As Array
    Dim arSubKeys As Array
    Dim sKey As String
    Dim strName As String


#Region " Windows Form Designer generated code "

Private Sub ScanSoft_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim fso, MyFile

        Const HKLM = &H80000002
        objRegistry = GetObject("winmgmts://./root/default:StdRegProv")
        sBaseKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
        arrKeys = objRegistry.EnumKey(HKLM, sBaseKey, arSubKeys)

        'Lege textfile met naam "NEW_SoftwareList.txt" aanmaken
        fso = CreateObject("Scripting.FileSystemObject")
        MyFile = fso.createTextFile("NEW_SoftwareList.txt", True)

        For Each sKey In arSubKeys
            'Enkel de Naam uit registry halen van de software
            objRegistry.GetStringValue(HKLM, sBaseKey & sKey, "DisplayName", strName)
            If Trim(strName) <> "" Then
                'Software naam writen in NEW_SoftwareList.txt
                MyFile.writeline(strName)
            End If
        Next

        'NEW_SoftwareList.txt Sluiten
        MyFile.close()

    End Sub
End Class

VB.NET zit echt super ver weg en ga toch ff nodig hebben om men frang weer te laten vallen :doh:
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan