Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung Visual Studio

Mitglied: runner-ralf

runner-ralf (Level 1) - Jetzt verbinden

08.02.2011 um 16:16 Uhr, 7144 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
gelöst Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke (7)

Frage von ahstax zum Thema Visual Studio ...

LAN, WAN, Wireless
WLAN Gast Zugang mit Registrierung (4)

Frage von ahmedahmed zum Thema LAN, WAN, Wireless ...

Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Microsoft Office
Unterordner durchsuchen Excel VBA (1)

Frage von schwalbepilot zum Thema Microsoft Office ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (10)

Frage von D-Line zum Thema Microsoft Office ...