Ashura: Kosmetik an der Windows-Shell: Kontextmenüs (die Zweite)

Hallo.

Ich befinde mich nun schon seit einer längeren Zeit auf der Suche nach einer Möglichkeit, das allgemeine Kontextmenü unter Windows(XPSP2) um einen oder mehrere Einträge zu erweitern. (Siehe auch </archiv/2005/5/t107052/>)

Es geht mir also nicht um die Datei- bzw. Ordnerspezifischen Kontextmenüs--diese kann ich problemlos modifizieren.
Ich möchte (wie Martin in oben genanntem Thread) das allgemeine Kontextmenü erweitern, welches bei Klick auf eine freie Stelle auf dem Desktop und in Ordnern erscheint.

Ich habe unzählige Hinweise zum Deaktivieren bzw. Aktivieren des Kontextmenüs, der Erweiterung des [Neu >]-Eintrages, etc. gefunden, welche mir aber nichts nützen.
Auch in der MSDN konnte ich nichts (Verständliches) finden.

Hat jemand eine Idee?

Einen schönen Sonntag noch.

Gruß, Ashura

--
Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
30 Days to becoming an Opera8 Lover -- Firefox tools for Opera built-ins
Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
MathML fetzt | Use OpenOffice.org
  1. hallo Ashura,

    Ich habe unzählige Hinweise [...] gefunden

    Du läufst Gefahr, daß du hier als Antwort auch nur etwas genannt bekommst, was du bereits weißt.

    Die Frage ist aus meiner Sicht, welches Kontextmenü du meinst. Wenn du mit der rechten Maustaste beispielsweise auf den Namen einer HTML-Datei klickst, bekommst du eines, dessen Einstellungen du anhand der "OpenWith"-Liste in der registry relativ leicht verändern kannst. Wenn du auf dem leeren Desktop mit der rechten Maustaste herumklickerst, bekommst du ein anderes, das schon schwerer zu beeinflussen ist. Wenn du im Windows Explorer mit der rechten Maustaste klikst, bekommst du ein drittes usw.
    Also bitte: _welches_ Kontextmenü möchtest du beeinflussen, und was möchtest du eventuell hinzuschreiben? Hast du dir schonmal angesehen, was die verschiedenen "TweakUi"-Programme alles anstellen können? Wie vertraut bist du mit deiner rergistry?

    Und was du mir erläutern müßtest, ist die Verbindung von "Windows-Shell" und Kontextmenü. Aus meiner Sicht sind das mindestens bei Windows XP sehr verschiedene Dinge.

    Grüße aus Berlin

    Christoph S.

    1. Hallo Christoph.

      Die Frage ist aus meiner Sicht, welches Kontextmenü du meinst.

      Gut, ich kann dies gerne noch ein Mal näher erläutern.

      Wenn du mit der rechten Maustaste beispielsweise auf den Namen einer HTML-Datei klickst, bekommst du eines, dessen Einstellungen du anhand der "OpenWith"-Liste in der registry relativ leicht verändern kannst.

      Richtig. Dieses Kontextmenü ist für mich irrelevant, da ich es mit Leichtigkeit zurecht biegen kann.

      Wenn du auf dem leeren Desktop mit der rechten Maustaste herumklickerst, bekommst du ein anderes, das schon schwerer zu beeinflussen ist.

      Und genau *dieses* Kontextmenü möchte ich modifizieren.
      Soweit ich dies in Erfahrung bringen konnte, ist dies wohl oder übel nur mittels CLSIDs möglich, aber etwas Brauchbares bzw. Verständliches konnte ich dahingehend noch nicht finden.

      Wenn du im Windows Explorer mit der rechten Maustaste klikst, bekommst du ein drittes usw.

      Nein, eigentlich nicht. Klicke ich im Explorerfenster auf eine beliebige freie Stelle, erscheint exakt das Selbe Kontextmenü, wie bei gleicher Aktion auf dem Desktop (also „Symbole anordnen nach“, „Aktualisieren“, „Einfügen“, „Verknüpfung einfügen“, „... rückgängig machen“, „Neu“ und „Eigenschaften“)

      Also bitte: _welches_ Kontextmenü möchtest du beeinflussen, und was möchtest du eventuell hinzuschreiben?

      Momentan geht es mir konkret um die Einbindung der CommandPrompt, so dass sie immer und überall mit dem aktuellen Verzeichnis gestartet werden kann.
      Auf dem Desktop muss ich hierzu entweder ein normales Command-Fenster öffnen und nach %userprofile%\Desktop wechseln oder einen Ordner anlegen, von welchem ich dann per cd .. ebenfalls auf den Desktop komme.
      Das gleiche gilt entsprechend für ein Explorer-Fenster.

      Hast du dir schonmal angesehen, was die verschiedenen "TweakUi"-Programme alles anstellen können?

      Ja, soweit ich dies überschauen kann, können sie alle nur eigene Einträge in das übliche Datei- und Verzeichniskontextmenü einbinden, was mir hier aber nichts nützt.

      Wie vertraut bist du mit deiner rergistry?

      Sehr gut. Ich bin dort fast täglich unterwegs, kenne mich also in den Weiten der HKEY's recht gut aus.

      Und was du mir erläutern müßtest, ist die Verbindung von "Windows-Shell" und Kontextmenü.

      Frage nicht mich, ich habe nur den Original-Threadtitel von Martin's altem Thread übernommen, warum auch immer.

      Aus meiner Sicht sind das mindestens bei Windows XP sehr verschiedene Dinge.

      Eigentlich nicht. Wenn die Shell abgestürzt ist, gibt es AFAIR auch kein Kontextmenü. (Ich möchte dies momentan ungern nachprüfen.)

      Einen schönen Sonntag noch.

      Gruß, Ashura

      --
      Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
      30 Days to becoming an Opera8 Lover -- Firefox tools for Opera built-ins
      Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
      MathML fetzt | Use OpenOffice.org
      1. Hallo.

        Klicke ich im Explorerfenster auf eine beliebige freie Stelle, erscheint exakt das Selbe Kontextmenü, wie bei gleicher Aktion auf dem Desktop (also „Symbole anordnen nach“, „Aktualisieren“, „Einfügen“, „Verknüpfung einfügen“, „... rückgängig machen“, „Neu“ und „Eigenschaften“)

        • „Ordner anpassen...“ im Explorer-Fenster.

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Firefox tools for Opera built-ins
        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        MathML fetzt | Use OpenOffice.org
    2. Hallo Christoph,

      Die Frage ist aus meiner Sicht, welches Kontextmenü du meinst. Wenn du mit der rechten Maustaste beispielsweise auf den Namen einer HTML-Datei klickst, ...

      Vergiss es. Das ist trivial und tausendfach im Netz zu finden.

      Wenn du auf dem leeren Desktop mit der rechten Maustaste herumklickerst, bekommst du ein anderes, das schon schwerer zu beeinflussen ist.

      Eben. Und genau um dieses Kontextmenü ging es Ashura (und mir damals auch).

      Wenn du im Windows Explorer mit der rechten Maustaste klikst, bekommst du ein drittes usw.

      Richtig (auch wenn es fast dieselben Einträge hat wie das vorgenannte).

      Wie vertraut bist du mit deiner registry?

      Ich kenne sie ziemlich gut, wir reden uns mit "Du" und Vornamen an.

      Und was du mir erläutern müßtest, ist die Verbindung von "Windows-Shell" und Kontextmenü. Aus meiner Sicht sind das mindestens bei Windows XP sehr verschiedene Dinge.

      Nein, überhaupt nicht. Die Shell (also im Normalfall der Windows-Explorer) ist schließlich genau der Prozess, der den Windows-Desktop realisiert und auch das zugehörige Kontextmenü hervorbringt.

      So long,

      Martin

      1. hi,

        Die Shell (also im Normalfall der Windows-Explorer)

        Um möglichen Mißverständnissen vorzubeugen: für mich war und ist die "Shell" in Windows XP die "Eingabeaufforderung", also die Anzeige von "cmd" - oder früher eben "command.com".

        Der Windows Explorer (den ich übrigens grundsätzlich anstelle von "Arbeitsplatz" aufrufe, wenn ich denn Windows fahre) ist eine wesentlich komplexere Komposition aus allerhand anderen Prozessen und Bibliotheksaufrufen.

        Grüße aus Berlin

        Christoph S.

        1. Hallo,

          Um möglichen Mißverständnissen vorzubeugen: für mich war und ist die "Shell" in Windows XP die "Eingabeaufforderung", also die Anzeige von "cmd" - oder früher eben "command.com".

          aus dieser Sichtweise schließe ich, dass du überwiegend mit Unix-basierten Systemen "groß geworden" bist.
          Allgemein gesprochen ist die "Shell" für mich aber die Schnittstelle zwischen dem Benutzer und dem Betriebssystem. Diesem Anspruch wird aber die Windows-Kommandozeile nicht gerecht, weil das System Windows damit nicht vollständig konfigurier- und bedienbar ist. Deswegen sehe ich bei diesem System eher den Explorer als primäre Shell, was ja auch die Defaulteinstellung ist.

          Dabei darf man sich natürlich nicht vom chameleonhaften Äußeren des Windows-Explorers täuschen lassen. Der Explorer ist nach außen hin, so wie ihn die meisten sehen, zunächst mal ein Dateimanager.
          Aber vergiss dabei nicht, dass er auch den kompletten Windows-Desktop, das Startmenü, sämtliche Symbolleisten, die Dialogfenster "Öffnen/Speichern" etc. implementiert - also all die Elemente, die man in Windows üblicherweise "dem Betriebssystem" zuordnet. Aber das ist nicht wahr: Man kann selbstverständlich auch unter Windows z.B. cmd.exe als primäre Shell hinkonfigurieren. Aber ganz ohne den Explorer kann man das System eben nur eingeschränkt nutzen. Einige Konfigurations- und Einstellungsaufgaben sind leider nur über den Explorer zugänglich.

          Der Windows Explorer (den ich übrigens grundsätzlich anstelle von "Arbeitsplatz" aufrufe, ...

          Ja, dann siehst du aber nur den Dateimanager, der im Explorer "enthalten" ist. Dass du aber schon unmittelbar nach dem Anmelden am System, ohne dass du irgendeine Interaktion mit dem Rechner machst, den Explorer benutzt, übersiehst du dabei wahrscheinlich.

          [...] ist eine wesentlich komplexere Komposition aus allerhand anderen Prozessen und Bibliotheksaufrufen.

          Prozesse: Nein. Er startet bei der Initialisierung einige Prozesse, die ihm in die Hand spielen sollen; die sind aber alle reiner Luxus.
          Bibliotheksaufrufe: Ja, selbstverständlich.

          So long,

          Martin

          1. hallo Martin,

            schließe ich, dass du überwiegend mit Unix-basierten Systemen "groß geworden" bist.

            Jaein. Erst die Beschäftigung mit UNIX-basierten Systemen hat mich dazu gebracht, überhaupt darüber nachzudenken, was eine "Shell" wohl ist.

            Allgemein gesprochen ist die "Shell" für mich aber die Schnittstelle zwischen dem Benutzer und dem Betriebssystem

            Tja, so "allgemein gesprochen" kann man da keinen Widerspruch anmelden. Definiere aber mal bitte "Schnittstelle" - _da_ fängts dann an zu hapern.

            Diesem Anspruch wird aber die Windows-Kommandozeile nicht gerecht, weil das System Windows damit nicht vollständig konfigurier- und bedienbar ist.

            Wah! Konfigurierbar schon (Wiederherstellungskonsole von der CD, abgesicherter Modus usw.), bedienbar tatsächlich nur stark eingeschränkt.

            Der Explorer ist nach außen hin, so wie ihn die meisten sehen, zunächst mal ein Dateimanager.
            Aber vergiss dabei nicht, dass er auch den kompletten Windows-Desktop, das Startmenü, sämtliche Symbolleisten, die Dialogfenster "Öffnen/Speichern" etc. implementiert

            Nein, ich vergesse und ich übersehe das in der Regel nicht.

            Grüße aus Berlin

            Christoph S.

            1. n'Abend,

              Allgemein gesprochen ist die "Shell" für mich aber die Schnittstelle zwischen dem Benutzer und dem Betriebssystem
              Tja, so "allgemein gesprochen" kann man da keinen Widerspruch anmelden.

              :-)

              Definiere aber mal bitte "Schnittstelle" - _da_ fängts dann an zu hapern.

              Hmm, wirklich? Diese Schnittstelle umfasst IMHO alles, was ich als Benutzer nach dem Anmelden am System _sehen_ und _bedienen_ kann. Das kann -wenn wir uns mit historischen Systemen befassen wollen- die nackte DOS-Kommandozeile sein (command.com), oder der Windows-Desktop (explorer.exe), eine textbasierte Shell oder alternativ auch eine KDE-Oberfläche unter Linux (wobei ich an dieser Stelle Wissenslücken eingestehen muss).

              Diesem Anspruch wird aber die Windows-Kommandozeile nicht gerecht, weil das System Windows damit nicht vollständig konfigurier- und bedienbar ist.
              Wah! Konfigurierbar schon (Wiederherstellungskonsole von der CD, abgesicherter Modus usw.), bedienbar tatsächlich nur stark eingeschränkt.

              Öhm, tatsächlich? Das hätte ich gerade umgekehrt gesehen. Ich wüsste nicht, wie ich ausschließlich von der Kommandozeile aus z.B. die Netzwerkkonfiguration von Windows einrichten sollte - aber die alltägliche Bedienung des Systems, also der Start von Anwendungen und einfache Dateioperationen, würde mir mit cmd.exe keine Probleme machen.

              Gute Nacht auch,

              Martin

              1. hallo,

                Ich wüsste nicht, wie ich ausschließlich von der Kommandozeile aus z.B. die Netzwerkkonfiguration von Windows einrichten sollte

                Die versteckt sich, analog zu UNIX-basierten Systemen, tatsächlich auch in "Scripts", bloß hast du unter Windows natürlich kein Verzeichnis /etc/network. Es sind ein paar log-Dateien und ein paar andere im %systemdir%, die du aus dem laufenden grafischen System heraus gar nicht öffnen kannst, von der Kommandozeile aus aber sehr wohl. Außerdem hast du über "set" eine Menge Möglichkeiten. Es ist noch immer dasselbe Prinzip, mit dem man seinerzeit unter Win 3.1 die Netzwerkkonfiguration vornehmen mußte.

                Grüße aus Berlin

                Christoph S.

                1. Moin,

                  Ich wüsste nicht, wie ich ausschließlich von der Kommandozeile aus z.B. die Netzwerkkonfiguration von Windows einrichten sollte

                  Die versteckt sich, analog zu UNIX-basierten Systemen, tatsächlich auch in "Scripts", ...

                  Naja, im fertigen System versteckt sie sich eigentlich nur noch in der Registry, wenn man mal von der Namensauflösung in der hosts-Datei absieht. Eine Art Scripts (in diesem Fall als *.inf) kann man wohl benutzen, um das System zu konfigurieren, aber danach ist die inf-Datei nicht mehr nötig, weil die Informationen in die Registry eingetragen wurden.

                  Es sind ein paar log-Dateien und ein paar andere im %systemdir%, die du aus dem laufenden grafischen System heraus gar nicht öffnen kannst, von der Kommandozeile aus aber sehr wohl.

                  Nö. Erstens sind vorhandene log-Dateien ja nur Protokolle einer früher durchgeführten Installation oder ähnlicher Eingriffe, zweitens kann ich alle Files im Windows-Verzeichnis auch öffnen, wenn die graphische Umgebung komplett läuft.

                  Außerdem hast du über "set" eine Menge Möglichkeiten.

                  Du meintest "net", nicht "set"?
                  Mit dem net-Utility und einigen Helferlein wie ipconfig u.a. kannst du tatsächlich eine Menge regeln, wenn nicht sogar alles. Mit set dagegen wirst du nichts ausrichten können. Windows stellt zwar von sich aus einige Informationen als Umgebungsvariablen zur Verfügung, kümmert sich selbst aber nicht um Änderungen am Environment.

                  Schönen Tage noch,

                  Martin