Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Registrierung durchsuchen mit VB.NET

Mitglied: runner-ralf

runner-ralf (Level 1) - Jetzt verbinden

08.02.2011 um 16:16 Uhr, 7289 Aufrufe, 4 Kommentare

Hallo alle zusammen,

habe ein VBScript das ich in VB.Net(VBExpress2010) nutzen will.

Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
Const BASE = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"

machine = "." ' use "." for local computer

swList = InstalledApplications(machine)
CreateObject("Wscript.Shell").Popup swList,10,"Installierte Software"

Function InstalledApplications(nod)
Dim tmp, Val
Set oReg = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" _
& nod & "/root/default:StdRegProv")
If oReg.EnumKey(HKLM, BASE, Keys)<> 0 Then
InstalledApplications = "Fehler beim Zugriff auf Uninstall-Key!"
Exit Function
End If
For Each Key in Keys
rc = oReg.GetStringValue( _
HKLM, BASE & Key, "DisplayName", val)
If rc <> 0 Then oReg.GetStringValue _
HKLM, BASE & Key, "QuietDisplayName", val
If Val <> "" Then tmp = tmp & val & vbCrLf
Next
InstalledApplications = tmp
End Function


Anpassungsversuch in VB.NET(VB2010 Express)

Function installierte_Software(ByVal StrServer)
installierte_Software = 0
Dim Maschine
Maschine = "."
Dim RC
Const BASE = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
Dim tmp, Val
tmp = 0
Val = 0
Dim oReg
oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & StrServer & "/root/default:StdRegProv")
If oReg.EnumKey(HKLM, BASE, werte) <> 0 Then
MsgBox("Fehler beim Zugriff auf Uninstall-Key!")
Exit Function
End If
For Each Key In werte
TEXT = oReg.GetStringValue(HKLM, BASE & Key, "QuietDisplayName", Val)
RC = oReg.GetStringValue(HKLM, werte, "DisplayName", Val)
If RC <> 0 Then oReg.GetStringValue(HKLM, BASE & Key, "QuietDisplayName", Val) '<<<<<<<<<Hier bleibt das Programm hängen mit dem Hinweis "Falscher Typ"
If Val <> "" Then tmp = tmp & Val & vbCrLf
Next
MsgBox(tmp)
End Function

Bin einfach noch nicht so fit in VB.Net. Weiß nicht welchen Typ er will. Einen Array?

Gruß

Ralf
Mitglied: bastla
08.02.2011 um 17:16 Uhr
Hallo runner-ralf!

Da VB.NET eigene Objekte / Methoden für den Registry-Zugriff hat, eher so:
01.
Const BASE = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" 
02.
Dim DispName As String, Val As String 
03.
Dim tmp As String = "" 
04.
 
05.
Dim Key As Microsoft.Win32.RegistryKey 
06.
Key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(BASE) 
07.
Dim SubKeyNames() As String 
08.
SubKeyNames = Key.GetSubKeyNames() 
09.
For Each SubKeyName In SubKeyNames 
10.
    Key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(BASE & "\" & SubKeyName) 
11.
    DispName = Key.GetValue("DisplayName") 
12.
    'If DispName <> "" Then Val = Key.GetValue("QuietDisplayName") 
13.
    If DispName <> "" Then tmp = tmp & DispName & vbTab 
14.
Next 
15.
MsgBox(tmp)
Grüße
bastla

P.S.: Bei mir sieht's mit "vbTab" lustiger aus als mit "vbCrLf" ...
Bitte warten ..
Mitglied: runner-ralf
08.02.2011 um 18:53 Uhr
Servus Bastla,

das schaut gut aus. Wie sieht es aus wenn ich die Reg von einem Remote Rechner auslesen will?

Danke dir schon mal für dein Code oben

Gruß

Ralf
Bitte warten ..
Mitglied: bastla
08.02.2011 um 22:26 Uhr
Hallo runner-ralf!

Als Stichwort: "Microsoft.Win32.RegistryKey.OpenRemoteBaseKey"

Grüße
bastla
Bitte warten ..
Mitglied: runner-ralf
09.02.2011 um 08:29 Uhr
Servus Bastla,

haut hi.

merce

Ralf
Bitte warten ..
Ähnliche Inhalte
Visual Studio

Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke

gelöst Frage von ahstaxVisual Studio7 Kommentare

Hallo, ich möchte ein Word-Dokument nach einer Textmarke durchsuchen, um die Seitennummer derjenigen Seite zu erfahren, auf dem die ...

Windows XP

Fehlermeldung mit der Registrierung von Extensions

gelöst Frage von Rizal1966Windows XP6 Kommentare

Habe gerade mit einem Image einen PC unter XP neu aufgesetzt (Anmerkung: Update auf ein anderes Betriebssystem ist betriebsbedingt ...

Visual Studio

Variablen in VB.NET

gelöst Frage von MarcoBornVisual Studio4 Kommentare

Hallo Forum, in VB.NET gibt es ja die Möglichkeit, Variablen global oder lokal zu definieren. Zusätzlich können Variablen auch ...

Windows Server

Automatisierte Registrierung und Passwortänderung mit Browser

Frage von 116108Windows Server10 Kommentare

Hallo zusammen Bei mir zu Hause habe ich einen kleinen Server eingerichtet: Hardwareraid mit 4x 4 TB Raid 5. ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing17 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...