Visual Basic World - Programmierung und BeispieleVisual Basic World - Tipps und TutorialsVisual Basic World - Source-Code und Forum

<leer>

Tipp 048: Systemordner und Systemdialoge aufrufen per Shell und RunDLL32

Autor: Alexander Kopatz  VB-Version: Visual Basic 6.0   Download: Beispielprojekt Tipp-048

Beschreibung

Mit Hilfe der Shell-Funktion und der rundll32.exe können Sie leicht und ohne großen Aufwand eine Reihe an interessanten Systemdialogen oder wichtigen Systemordner aufrufen, zum Beispiel den Hardware Assistenten oder die Systemsteuerung. Für den Programmierer als besonders angenehm erweist sich dabei die Tatsache, dass die eigentliche Ausführung und Verarbeitung der gewünschten Aktionen vollständig durch das Windows-Dienstprogramm rundll32.exe übernommen wird, eine größerer Programmieraufwand ist nicht erforderlich.

Tipp: Bedenken Sie allerdings auch, dass Sie auf diese Weise einen gewissen Teil der Kontrolle über den Ablauf Ihres Programms aus der Hand geben. Wenn Sie beispielsweise den Benutzer auffordern in den "Eigenschaften von Anzeige" die Auflösung des Systems zu ändern können Sie nicht unbedingt davon ausgehen, dass der Benutzer diese Bitte sowohl versteht, als ihr auch korrekt Folge leistet. Es empfiehlt sich daher Systemanpassungen und Konfigurationen welche für die Ausführung der eigenen Software zwingend erforderlich sind trotz der einfachen Verwendung der rundll32.exe nicht an diese auszulagern, sondern stets selbst per Software zu implementieren.

Neben den hier gezeigten Anweisungen verfügt die rundll32.exe noch über ein wahres Füllhorn an weiteren nützlichen Funktionen. Eine gute Übersicht der übrigen Funktionen finden Sie in der Wikipedia, der entsprechende Artikel ist im Folgenden verlinkt. Dort können Sie auch nachvollziehen welche Anweisung unter den jeweiligen Versionen von Windows funktioniert.

Zusatzinformationen

» Wikipedia-Artikel: Liste der Funktionen der rundll32.exe

Quellcode

runDll.frm
CommandButton            cmdAusführen (Array)
' VISUAL BASIC WORLD
' ===========================================
' Das große Portal zum Thema Visual Basic.
'
' Wenn Ihnen dieser Source Code gefallen hat,
' dann empfehlen Sie Visual Basic World bitte
' weiter und/oder setzen Sie einen Link auf:
'
' http://www.visualbasicworld.de/
'
' Vernetzen Sie sich mit uns:
'
' http://twitter.com/visualbasicwrld

Option Explicit
Private Sub cmdAusführen_Click(Index As Integer) Select Case Index Case 0 Call Shell("rundll32.exe shell32.dll,Control_RunDLL", vbNormalFocus) Case 1 Call Shell("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1", vbNormalFocus) Case 2 Call Shell("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1", vbNormalFocus) Case 3 Call Shell("rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl", vbNormalFocus) Case 4 Call Shell("rundll32.exe url.dll,TelnetProtocolHandler www.visualbasicworld.de", vbNormalFocus) Case 5 Call Shell("rundll32.exe diskcopy.dll,DiskCopyRunDll", vbNormalFocus) Case 6 Call Shell("rundll32.exe shell32.dll,SHFormatDrive", vbNormalFocus) Case 7 Call Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1", vbNormalFocus) Case 8 Call Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2", vbNormalFocus) Case 9 Call Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3", vbNormalFocus) Case 10 Call Shell("Rundll32.exe user,ExitWindows", vbNormalFocus) End Select End Sub

<leer> Aktuelle Seite Back To Top
Druckansicht | Feedback | Favoriten
Copyright © Visual Basic World, 2000-2022 | Kontakt | Impressum

Visual Basic World @ Twitter

Folgen Sie Visual Basic World!

Visual Basic World @ Twitter
Wenn Ihnen Visual Basic World gefällt, dann folgen Sie uns doch bei Twitter (@visualbasicwrld).
Vielen Dank!