Windows Rechtsklick-Menü

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Hawk1337.

    Windows Rechtsklick-Menü

    Ich wollte mein Programm zum Windows-Rechtsklick-Menü hinzufügen. Also kein ContextMenu.

    Das Menü wenn man auf eine Datei rechtsklickt...

    Öffnen mit / Löschen / Umbenennen etc...

    Das hinzufügen ist ja nicht das Problem. Das Problem ist es den Pfad der geöffneten Datei wieder zu geben.

    Ich möchte nun also wissen, wie ich herauskriege WELCHE Datei (PFAD) per Rechtsklick-Menü geöffnet wurde.

    Dies könnte falls möglich natürlich über einen Parameter laufen.

    Bitte um Hilfe :(

    Samus Aran schrieb:

    Wenn deinem Programm eine Datei übergeben wurde, dann sieht der Pfad dafür so aus:
    C:\Beispiel\Test\DeinProgramm.exe "C:\Test\Beispiel\DeineDatei.exe"
    Filter den Dateipfad raus und mach irgendwas damit. ;)


    Wenn ich eine Datei mit Rechtsklick öffne(also mit meinem Programm), passiert ja erstmal rein gar nichts, mein Programm öffnet sich einfach nur.

    Wie filtere ich nun den Pfad bei einem bestimmten Parameter heraus?
    Das beantwortet aber nicht meine Frage.

    Wie bekomme ich C:\Beispiel\Test\DeinProgramm.exe "C:\Test\Beispiel\DeineDatei.exe" ÜBERHAUPT?

    Als String z.B....

    Wenn ein bestimmter Parameter vorhande ist, dann soll er -> C:\Beispiel\Test\DeinProgramm.exe "C:\Test\Beispiel\DeineDatei.exe" <- in einen String packen.

    Beep! schrieb:

    Mit Environment.GetCommandLineArgs() oder so...


    Soweit so gut

    VB.NET-Quellcode

    1. Public Sub executeparams()
    2. Dim x() As String = Environment.GetCommandLineArgs
    3. For i As Integer = 1 To x.Length - 1
    4. Select x(i).ToLower
    5. Case "rightclick"
    6. 'PFAD?!?!?!?!?!??!?!
    7. End Select
    8. Next
    9. End Sub


    Jetzt fehlt mir aber noch der Pfad :D

    YaPh1l schrieb:

    Woher hast du das "rightclick"?
    Normalerweise gibt GetCommandLineArgs() ein String-Array, welches als ersten Eintrag den Pfad deines Programms und als zweiten den Pfad der Datei hat, falls vorhanden.

    So ist es hier auch.

    Wenn Du entweder über Registry Eintrag oder über den Explorer Deine Anwendung mit einem Dateityp assozierst, dann bekommst Du die beiden Argumente so mit wie von YaPh1 beschrieben.
    Sorry für den Doppelpost aber ich will kein neuen Thread machen:

    Das funktioniert bei Dateien soweit alles super, wie kriege ich das jedoch bei Ordnern hin?

    Also ich möchte das Program auch beim Rechtsklick auf Ordnern in der Leiste haben?

    Hat einer eine Idee wo genau, dass in der Registry geht?

    Danke im voraus
    Registry =? Welche Keys muss ich denn bearbeiten ?
    Ich hab immer den Ordner SendTo genommen
    Hier ist ein Artikel, leider nicht sehr viele Beispiele.

    Musst mal etwas rumspielen, denke es müsste ungefähr so gehen:
    - neuen Schlüssel "Test" unter HKCR\Folder\Shell anlegen
    - unter Test neuen Schlüssel "command" anlegen
    - den Standard -Eintrag dort auf "C:\PfadzuTest\Test.exe %L" setzen

    Kangaroo schrieb:

    Hier ist ein Artikel, leider nicht sehr viele Beispiele.

    Musst mal etwas rumspielen, denke es müsste ungefähr so gehen:
    - neuen Schlüssel "Test" unter HKCR\Folder\Shell anlegen
    - unter Test neuen Schlüssel "command" anlegen
    - den Standard -Eintrag dort auf "C:\PfadzuTest\Test.exe %L" setzen


    DAAAAAAAAAAAAAAAANKE, GENAU das hab ich gesucht HKCR\Folder - eigentlich logisch...danke :]
    :thumbsup: :thumbsup: :thumbsup: