vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 1885: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: EckiHage
 Tipp anzeigenDatum: 26.08.09 15:18

Liebes Forum,
bei Nutzung des beschriebenen Codes bekomme ich folgende Fehlermeldung:

Der Zugriff auf den Registrierungsschlüssel "HKEY_CLASSES_ROOT\Folder\Shell\DatumVoranstellen" wurde verweigert.

Der Fehler wird bei dieser Zeile ausgelöst:

Dim Entrykey As RegistryKey = Shellkey.CreateSubKey(text)

Ich benutze als Betriebssystem Vista.

Vielen Dank in Voraus!
EckiHage
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: ModeratorRalf Ehlert (Moderator)
Datum: 26.08.09 15:40

Hier schlägt die UAC zu. Du brauchst Adminrechte, um das ändern zu können. Unter Workshops findest du mehr dazu.

Ralf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: SenZe
Datum: 26.10.10 14:53

Hallo, ich habe eine andere Frage zu diesem Tip:
Unter W7 (habe 64bit) scheint es mit diesem Tip nicht mehr möglich zu sein, einen eigenen Befehl im Kontextmenü zu hinterlegen. Die im Tip durchgeführten Registry-Eintragungen ändern nichts. Kann das jemand bestätigen? Und noch wichtiger, weiß jemand abhilfe? Gern auch von hand und nicht per Source...

Danke schonmal!

LG,Robert

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: Snoopy
Datum: 26.10.10 15:28

Stelle mal die Zielplattform auf X86 ein. Vermutlich steht dein Projekt auf AnyCPU oder X64.

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: SenZe
Datum: 26.10.10 16:20

Danke für die Antwort, habe das Problem jedoch jetzt schon mit "Senden an" umgangen.

LG,Robert

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: MarKra
Datum: 22.10.14 15:22

Hallo zusammen,

ich habe dieses Beispiel übernommen und es klappt super, bis auf eine Kleinigkeit. Ich habe ganz neu mit Visual Basic (Studio 2013) angefangen und jetzt trotz langer Suche im Internet keine Hilfe gefunden. Ich arbeite unter Win7 64.

Wenn ich mein Programm über das Windows-Kontextmenü aufrufe, möchte ich den Pfad (oder den Namen) des Objektes in dem Programm verwerten, dass ich über das Kontextmenü aufrufe. (Konkret soll ein Unterordner in dem Ordner erstell werden, auf dem das Kontextmenü aufgerufen wird.)
Dazu soll ja "%1" dienen, das wird bei mir jedoch ganz normal als String ausgegeben (mit %1) und nicht von Windows ersetzt.
Kann mir jemand in einem kurzen Beispiel zeigen, wie ich meiner Sub Main() diesen String als Parameter (oder wie auch immer es geht) übergeben kann?
Dafür wäre ich sehr dankbar.

Ich habe auch noch nicht verstanden, wie ich der Main generell einen Parameter übergeben kann.
Sobald ich der Main etwas übergebe, wird erst "Optional" gefordert und im nächsten Schritt "die Signatur der Main" nicht mehr erkannt.

Mit freundlichen Grüßen
Markus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: Manfred X
Datum: 22.10.14 19:43

Zum zweiten Teil der Frage:

Die Befehlszeilen-Argumente, die einem Programm beim Start
übergegeben werden, enthält die Application-Eigenschaft: commandlineargs

http://msdn.microsoft.com/de-de/library/z2d603cy%28v=vs.90%29.aspx


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: MarKra
Datum: 23.10.14 09:15

Hallo Manfred X,

danke für die Antwort.
Wenn ich das richtig verstanden habe, kann die Main nur eine Funktion als Parameter enthalten, bzw. die Parameter werden als Funktion abgefragt. So stellt es sich zumindest in diesem Beispiel dar:
http://msdn.microsoft.com/de-de/library/ms235406.aspx
mit: Sub Main(ByVal cmdArgs() As String)

Wenn ich mir nun alle cmdArgs() in einer MsgBox ausgeben lassen will und das Programm über mein Windows-Kontextmenü starte, bekomme ich gar nichts. Damit löst sich also leider nicht mein erstes Problem.

Leider kann ich das selbst so schlecht testen, da ich nicht im Debug-Modus arbeiten kann, wenn ich das Programm über das Windows-Kontextmenü starte.

Mit freundlichen Grüßen
Markus

Beitrag wurde zuletzt am 23.10.14 um 09:16:50 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: MarKra
Datum: 23.10.14 09:20

[Bitte löschen]

Beitrag wurde zuletzt am 23.10.14 um 09:22:02 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: Manfred X
Datum: 23.10.14 10:34

Probier mal dieses Modul ...
Module modCommandLine
 
    Public Sub Main(cmdargs() As String)
 
        If cmdargs Is Nothing OrElse cmdargs.Length = 0 Then
            MsgBox("Keine Parameter gegeben")
            Exit Sub
        End If
 
        Dim stb As New System.Text.StringBuilder
        For i As Integer = 0 To cmdargs.Length - 1
            stb.Append(cmdargs(i) & "  ")
        Next i
 
        MsgBox("Parameter: " & stb.ToString)
 
    End Sub
End Module
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: MarKra
Datum: 23.10.14 10:44

Hallo Manfred X,

das hat geholfen, danke.
Jetzt weiß ich zumindest, dass durch das Windows-Kontextmenü kein Parameter an die aufgerufene Datei übergeben wird. Ich hab es mir wohl zu einfach vorgestellt, als ich hoffte, ich würde irgendwie ein handle oder etwas Ähnliches bekommen.
Dann muss ich jetzt weiter mit %1 experimentieren, das soll ja von Windows durch den Pfad ersetzt werden.

Viele Grüße
Markus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ins Kontextmenü des Windows Explorers (.NET) 
Autor: MarKra
Datum: 23.10.14 13:40

Hallo nochmal,

das Problem ist jetzt gelöst. In dem Regestry-Eintrag stand Aufgrund einer Schlamperei von mir nicht wie erforderlich das %1 hinter dem Pfad des Programmes.
Zusammen mit dem %1 am Pfad steht in deiner Variable stb.ToString der Pfad und der Name des angeklickten Ordners.

Mit:
Dim strDatei As String = New DirectoryInfo(stb.ToString).Name
komme ich dann an den Ordnernamen.

Danke nochmals.
Viele Grüße
Markus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel