Rubrik: System/Windows · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 02.02.01 |
Eintrag ins Kontextmenü des Explorers In diesem Tipp zeigen wir Ihnen, wie Sie Ihre Anwendung im System registrieren, so daß diese im Kontextmenü des Explorers angezeigt wird. | ||
Autor: Heinz Prelle | Bewertung: | Views: 40.967 |
www.visual-basic5.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
In diesem Tipp zeigen wir Ihnen, wie Sie Ihre Anwendung im System registrieren, so daß diese im Kontextmenü des Explorers angezeigt wird.
' zunächst die benötigten API-Deklarationen Private Declare Function RegCreateKey Lib "advapi32.dll" _ Alias "RegCreateKeyA" ( _ ByVal hKey As Long, _ ByVal lpSubKey As String, _ phkResult As Long) As Long Private Declare Function RegSetValue Lib "advapi32.dll" _ Alias "RegSetValueA" ( _ ByVal hKey As Long, _ ByVal lpSubKey As String, _ ByVal dwType As Long, _ ByVal lpData As String, _ ByVal cbData As Long) As Long ' strMenuText: Text, welcher im Kontextmenü erscheinen soll ' strAnwendung: Pfad + EXE-Dateiname der Anwendung Public Sub ProgrammRegistrierung(ByVal strMenuText As String, _ ByVal strAnwendung As String) Const HKEY_CLASSES_ROOT = &H80000000 Const REG_SZ = 1 Dim Key As String Dim Result As Long Dim phkResult As Long Dim strTEXT As String Key = "*\shell\" + strMenuText + "\command" Result = RegCreateKey(HKEY_CLASSES_ROOT, Key, phkResult) strTEXT = strAnwendung + " %1" Result = RegSetValue(HKEY_CLASSES_ROOT, Key, REG_SZ, _ strTEXT, Len(strTEXT)) End Sub
Programm zur Anzeige von Grafiken (Bilder)
Aufbauend auf den Tipp zeigen wir Ihnen, wie Sie z.B. ein kleines Programm zur Anzeige der gängigsten Grafikformate direkt aus dem Explorer heraus erstellen. Der Dateiname der Grafik wird hierbei als Parameter (Command$) übergeben.
' Beispiel: Grafik-Viewer ' Benötigt wird eine Form und ein Image-Objekt Private Sub Form_Load() Dim strDateiName As String Dim intX As Integer ' Dateiname (Parameter) strDateiName = Command$ If strDateiName = "" Then ProgrammRegistrierung "Ausführen", App.Path &"\"& App.Exename &".exe %1" MsgBox "Es wurde kein Dateiname angegeben.", vbOKOnly + _ vbInformation, "Programm wurde registriert..." End End If ' Prüfen, ob Datei existiert On Error Resume Next intX = Len(Dir$(strDateiName)) If Err Then MsgBox "Kein gültiger Dateiname: " + vbCrLf + strDateiName End End If ' Bild in Image-Objekt laden Err = 0 Image1.Picture = LoadPicture(strDateiName) If Err <> 0 Then MsgBox "Das Bild kann nicht angezeigt werden" + vbCrLf + _ vbInformation, "PictureViewer" End If On Local Error Goto 0 End Sub
Wenn Sie wissen möchten, wie sich der Eintrag wieder aus dem Kontextmenü entfernen lässt, dann schauen Sie einfach hier nach:
Eintrag im Kontextmenü des Explorers entfernen