1

Ich habe über die folgenden VB-Code suchen:Korrekte Shell Verb Text Handlungs

http://www.codeproject.com/KB/vb/toggleNetworkConn.aspx

Wenn Sie unter „Die Methoden“ betrachten, sehen Sie, dass er einen Test tut, um zu sehen Ob das Shell-Itemverb entweder "En & fähig" oder "Disa & ble" ist oder nicht - es sieht ziemlich offensichtlich aus, dass dies die gleichen Textzeichenfolgen sind, die im Kontextmenü in Netzwerkverbindungen aufgelistet sind. Das offensichtliche Problem bei diesem Ansatz (wie auch von jemandem in den Kommentaren zu CodeProject hervorgehoben) ist, dass dies englischspezifisch ist; Abhängig von der Sprache, in der das Betriebssystem ausgeführt wird, werden unterschiedliche Wörter verwendet. Die Antwort des Programmierers bestand darin, möglicherweise den Index des Verbs zu verwenden, aber das ist wohl schlimmer als die ursprüngliche Lösung, da Sie dann eine beliebige Operation ausführen würden, wenn es nicht der richtige Befehl wäre (und ich glaube nicht, dass dies garantiert ist) in einer bestimmten Reihenfolge in der Verbliste sein).

Also meine Frage, ist es möglich, aus dem System (über einen Anruf oder die Registrierung) die OS-Sprache spezifischen Text für Aktivieren und Deaktivieren? Ich habe die Registrierung für beide Zeichenfolgen ohne Erfolg durchsucht, aber ich dachte, dass jemand mit mehr Sprachenerfahrung die Antwort haben könnte. Außerdem benutze ich nicht VB (ich werde C++ benutzen), also mach dir keine Sorgen darüber, es in einer bestimmten Sprache zu tun - API-Aufrufe oder Pseudo-Code ist in Ordnung. Ich brauche auch die Lösung, um auf XP und Vista (und hoffentlich auch Windows 7) zu arbeiten. Vielen Dank!

Antwort

0

Die nächste Sache, die ich gefunden habe, ist ein Teil von IShellFolder, insbesondere GetCommandString(), die eine universelle Zeichenfolge zurückgibt beschreibt eine Aktion - in diesem Fall gibt es buchstäblich "aktivieren" oder "deaktivieren". Das Problem mit dieser speziellen API ist, während es funktioniert, es gibt tatsächlich nichts auf XP zurück - anscheinend, während es auf älteren Betriebssystemen verfügbar ist, ist es wirklich nur unter Vista oder größer nützlich.

0

Es sieht so aus, als ob der Text für die Verben über Registry String Redirection gehandhabt werden könnte. Sie müssen die CLSID für die Verbindungskomponente identifizieren. Ich stocherte herum, aber fand keine Verben registriert für die Netzwerkverbindungen CLSIDs ich stieß auf ...

Verwandte Themen