Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kliknięcie prawym przyciskiem myszy obiektu zwykle powoduje wyświetlanie menu skrótów . To menu zawiera listę poleceń, które użytkownik może wybrać, aby wykonać różne akcje na obiekcie. Ta sekcja stanowi wprowadzenie do menu skrótów dla obiektów systemu plików.
- menu skrótów dla obiektów systemu plików
- Czasowniki menu skrótów
- rozszerzanie menu skrótów dla typu pliku
- Rozszerzanie menu skrótów dla wstępnie Shell zdefiniowanych obiektów
- Rejestrowanie Aplikacji do Obsługi Dowolnych Typów Plików
- Rozszerzanie nowego submenu
Dodatkowe informacje są dostępne tutaj:
Menu skrótów dla obiektów systemu plików
Gdy użytkownik kliknie prawym przyciskiem myszy obiekt, taki jak plik, wyświetlany w Eksploratorze Windows lub na pulpicie, zostanie wyświetlone menu skrótów z listą poleceń. Użytkownik może następnie wykonać akcję w pliku, taką jak otwieranie lub usuwanie pliku, wybierając odpowiednie polecenie.
Ponieważ menu skrótów są często używane do zarządzania plikami, Shell udostępnia zestaw domyślnych poleceń, takich jak wycinanie i kopiowanie, które są wyświetlane w menu skrótów dla dowolnego pliku. Należy pamiętać, że chociaż funkcja Otwórz za pomocą jest poleceniem domyślnym, nie jest wyświetlana dla niektórych standardowych typów plików, takich jak .wav. Poniższa ilustracja przykładowego katalogu Moje dokumenty, który został również użyty jako przykład w Dostosowywanie ikon, przedstawia domyślne menu skrótów wyświetlane przez kliknięcie prawym przyciskiem myszy MyDocs4.xyz.
Powodem, dla którego MyDocs4.xyz pokazuje domyślne menu skrótów, jest to, że nie jest członkiem zarejestrowanego typu pliku . Z drugiej strony .txt jest zarejestrowanym typem pliku. Jeśli klikniesz prawym przyciskiem myszy jeden z plików .txt, zostanie wyświetlone menu skrótów z dwoma dodatkowymi poleceniami w górnej sekcji: Otwórz i Drukuj.
Po zarejestrowaniu typu pliku można rozszerzyć menu skrótów za pomocą dodatkowych poleceń. Są one wyświetlane powyżej domyślnych poleceń, gdy dowolny plik tego typu jest klikany prawym przyciskiem myszy. Chociaż większość dodanych w ten sposób poleceń jest typowych, takich jak Print lub Open, możesz dodać dowolne polecenie, które użytkownik może znaleźć przydatne.
Wystarczy rozszerzyć menu skrótów dla typu pliku, aby utworzyć wpis rejestru dla każdego polecenia. Bardziej wyrafinowanym podejściem jest zaimplementowanie programu obsługi menu skrótów , co pozwala na rozszerzenie menu skrótów dla typu pliku dla każdego pliku z osobna. Aby uzyskać więcej informacji, zobacz: Tworzenie procedur obsługi menu kontekstowego.
Czasowniki menu skrótów
Każde polecenie w menu skrótów jest identyfikowane w rejestrze przez jego verb. Te czasowniki są takie same jak te używane przez ShellExecuteEx podczas programowego uruchamiania aplikacji. Aby uzyskać bardziej szczegółowe informacje na temat korzystania z ShellExecuteEx, zapoznaj się z dyskusją w Uruchamianie aplikacji.
A verb jest prostym ciągiem tekstowym używanym przez Shell do identyfikowania skojarzonego polecenia. Każdy verb odpowiada ciągowi polecenia używanemu do wykonywania polecenia w oknie konsoli lub w pliku wsadowym (.bat). Na przykład openverb zwykle uruchamia program, aby otworzyć plik. Ciąg polecenia zwykle wygląda mniej więcej tak:
"My Program.exe" "%1"
"%1" jest standardowym symbolem zastępczym dla parametru wiersza polecenia, który jest przekazywany z nazwą pliku. Na przykład może określić określoną stronę do wyświetlenia w widoku z kartami.
Notatka
Jeśli dowolny element ciągu polecenia zawiera lub może zawierać spacje, musi być ujęty w cudzysłów. W przeciwnym razie, jeśli element zawiera spację, nie zostanie poprawnie przeanalizowany. Na przykład polecenie "My Program.exe" spowoduje prawidłowe uruchomienie aplikacji. Jeśli używasz opcji My Program.exe, system podejmie próbę uruchomienia ciągu "My" z wartością "Program.exe" jako pierwszego argumentu wiersza polecenia. Zawsze należy używać cudzysłowów z argumentami, takimi jak "%1", które są rozwijane do ciągów przez element Shell, ponieważ nie można mieć pewności, że ciąg nie będzie zawierać spacji.
Czasowniki mogą również mieć powiązany ciąg wyświetlania, który jest wyświetlany w menu skrótów verb zamiast samego ciągu. Na przykład ciąg wyświetlany dla openas to „Open With”. Podobnie jak zwykłe ciągi menu, umieszczenie ampersand (&) w ciągu wyświetlania umożliwia wybór polecenia za pomocą klawiatury.
Czasowniki kanoniczne
Ogólnie rzecz biorąc, aplikacje są odpowiedzialne za dostarczanie zlokalizowanych ciągów wyświetlania dla zdefiniowanych czasowników. Jednak w celu zapewnienia stopnia niezależności języka system definiuje standardowy zestaw powszechnie używanych czasowników nazywanych czasownikami kanonicznymi. Kanoniczny verb może być używany dla każdego języka, a system automatycznie generuje prawidłowo zlokalizowany tekst wyświetlany. Na przykład ciąg wyświetlania otwartyverb zostanie ustawiony na Otwórz w systemie angielskim i na Öffnen w systemie niemieckim.
Czasowniki kanoniczne obejmują:
| Wartość | Opis |
|---|---|
| otwarty | Otwiera plik lub folder. |
| otwórz nowe | Otwiera plik lub folder w nowym oknie. |
| drukować | Drukuje plik. |
| badać | Otwiera Eksploratora Windows z wybranym folderem. |
| znaleźć | Otwiera okno dialogowe Windows Search z folderem ustawionym jako domyślna lokalizacja wyszukiwania. |
| otwórz jako | Otwiera okno dialogowe Otwórz za pomocą. |
| Właściwości | Otwiera arkusz właściwości obiektu. |
Printto verb jest również kanoniczny, ale nigdy nie jest wyświetlany. Umożliwia on użytkownikowi drukowanie pliku przez przeciągnięcie go do obiektu drukarki.
Czasowniki rozszerzone
Gdy użytkownik kliknie obiekt prawym przyciskiem myszy, menu skrótów zawiera wszystkie zwykłe czasowniki. Mogą jednak istnieć polecenia, które mają być obsługiwane, ale nie są wyświetlane w każdym menu skrótów. Na przykład możesz mieć polecenia, które nie są często używane lub przeznaczone dla doświadczonych użytkowników. Z tego powodu można również zdefiniować jeden lub więcej rozszerzonych czasowników . Te czasowniki są również ciągami znaków i są podobne do zwykłych czasowników. Są one rozróżniane od zwykłych czasowników w sposób ich rejestrowania. Aby mieć dostęp do poleceń skojarzonych z rozszerzonymi czasownikami, użytkownik musi kliknąć prawym przyciskiem myszy obiekt przy naciśnięciu SHIFT. Czasowniki rozszerzone będą następnie wyświetlane wraz z normalnymi czasownikami.
Rozszerzanie menu skrótów dla typu pliku
Najprostszym sposobem rozszerzenia menu skrótów dla typu pliku jest użycie rejestru. W tym celu dodaj Shell podklucz poniżej klucza progID aplikacji skojarzonej z typem pliku. Opcjonalnie możesz zdefiniować wartość domyślną verb dla typu pliku, określając jako domyślną wartość podklucza Shell .
Wartość domyślna verb jest wyświetlana jako pierwsza w menu skrótów. Jego celem jest zapewnienie Shell z verb, który można używać, gdy ShellExecuteEx jest wywoływany, ale verb nie jest określony. Element Shell nie musi wybierać wartości domyślnej verb , gdy element ShellExecuteEx jest używany w ten sposób. W przypadku Shellwersji 5.0 i nowszych, które można znaleźć w systemach Windows 2000 i nowszych, Shell użyje pierwszej dostępnej verb z poniższej listy. Jeśli żadna z nich nie jest dostępna, operacja zakończy się niepowodzeniem.
- Otwarte verb
- Wartość domyślna verb
- Pierwszy element verb w rejestrze
- Otwórz z verb
W przypadku Shell wersji wcześniejszych niż wersja 5.0 pomiń trzeci element.
Poniżej podklucza Shell utwórz jeden podklucz dla każdego verb , który chcesz dodać. Każdy z tych podkluczy będzie miał wartość REG_SZ ustawioną na ciąg wyświetlania verb. Można pominąć ciąg wyświetlania dla czasowników kanonicznych, ponieważ system automatycznie wyświetli prawidłowo zlokalizowany ciąg. Jeśli pominięto ciąg wyświetlania dla czasowników niekanonicznych, verb zostanie wyświetlony ciąg. Dla każdego verb podklucza utwórz podklucz polecenia z wartością domyślną ustawioną na ciąg polecenia.
Na poniższej ilustracji przedstawiono menu skrótów dla typu pliku myp używanego w typach plików i Dostosowywanie ikon. Ma teraz open, doit, print i printto jako czasowniki w menu skrótów, z doit jako domyślnym verb. Menu skrótów wygląda następująco.
Wpisy rejestru używane do rozszerzania menu skrótów pokazanego na poprzedniej ilustracji to:
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
MyProgram.1
(Default) = MyProgram Application
Shell
(Default) = doit
open
command
(Default) = C:\MyDir\MyProgram.exe "%1"
doit
(Default) = &Do It
command
(Default) = C:\MyDir\MyProgram.exe /d "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /p "%1" "%2" %3 %4
Mimo że komenda Otwórz za pomocą znajduje się powyżej pierwszego separatora, jest automatycznie tworzona przez system i nie wymaga wpisu w rejestrze. System automatycznie tworzy nazwy wyświetlane dla czasowników kanonicznych otwartych i drukowanych. Ponieważ element doit nie jest kanoniczny verb, ma przypisaną nazwę wyświetlaną "&Do It", którą można wybrać, naciskając D. Polecenie printto verb nie pojawia się w menu skrótów, ale pozwala użytkownikowi drukować pliki przez przeciągnięcie ich do ikony drukarki. W tym przykładzie %1 reprezentuje nazwę pliku i %2 nazwę drukarki.
Czasowniki można pominąć za pomocą ustawień zasad, dodając wartość SuppressionPolicy do verb klucza. Ustaw wartość SuppressionPolicy na identyfikator zasad. Jeśli zasada jest włączona, verb i pozycja menu skrótów skojarzona z nią są usuwane. Aby uzyskać informacje o możliwych wartościach identyfikatorów zasad, zobacz wyliczenie RESTRICTIONS.
Rozszerzanie menu skrótów dla wstępnie Shell zdefiniowanych obiektów
Wiele wstępnie zdefiniowanych Shell obiektów ma menu skrótów, które można rozszerzyć. Zarejestruj polecenie w taki sam sposób, jak w przypadku rejestrowania typowych typów plików, ale użyj nazwy wstępnie zdefiniowanego obiektu jako nazwy typu pliku.
Listę wstępnie zdefiniowanych obiektów można znaleźć w sekcji Wstępnie zdefiniowane Shell obiekty w sekcji Tworzenie Shell procedur obsługi rozszerzeń. Te wstępnie zdefiniowane Shell obiekty, których menu skrótów można rozszerzyć, dodając czasowniki w rejestrze są oznaczone w tabeli wyrazem "Verb".
Rejestrowanie aplikacji w celu obsługi dowolnych typów plików
W poprzednich sekcjach tego dokumentu omówiono sposób definiowania elementów menu skrótów dla określonego typu pliku. Między innymi definiowanie menu kontekstowego umożliwia określenie sposobu, w jaki skojarzona aplikacja otwiera element typu pliku. Jednak zgodnie z opisem w typy plikówaplikacje mogą również zarejestrować oddzielną procedurę domyślną, która ma być używana, gdy użytkownik próbuje użyć aplikacji do otwarcia typu pliku, który nie został skojarzony z aplikacją. Ten temat został omówiony tutaj, ponieważ procedura domyślna jest rejestrowana w taki sam sposób, jak w przypadku rejestrowania elementów menu skrótów.
Domyślna procedura służy dwóm podstawowym celom. Jednym ze sposobów jest określenie, jak należy uruchomić aplikację, aby otworzyć dowolny typ pliku. Można na przykład użyć flagi wiersza polecenia, aby wskazać, że jest otwierany nieznany typ pliku. Innym celem jest zdefiniowanie różnych cech typu pliku, takich jak elementy menu skrótów i ikona. Jeśli użytkownik skojarzy aplikację z dodatkowym typem pliku, ten typ będzie miał te cechy. Jeśli dodatkowy typ pliku został wcześniej skojarzony z inną aplikacją, te cechy zastąpią oryginały.
Aby zarejestrować procedurę domyślną, umieść te same klucze rejestru utworzone dla identyfikatora ProgID aplikacji w podkluczu aplikacji HKEY_CLASSES_ROOT\Applications. Można również uwzględnić wartość FriendlyAppName, aby podać przyjazną nazwę dla systemu dla swojej aplikacji. Przyjazna nazwa aplikacji może być również wyodrębniona z pliku wykonywalnego, ale tylko wtedy, gdy wartość FriendlyAppName jest nieobecna. Poniższy fragment rejestru przedstawia przykładową procedurę domyślną dla MyProgram.exe, która definiuje przyjazną nazwę i kilka elementów menu skrótów. Ciągi poleceń zawierają flagę /a, aby powiadomić aplikację, że otwiera dowolny typ pliku. Jeśli dołączysz podklucz DefaultIcon, powinieneś użyć ikony ogólnej.
HKEY_CLASSES_ROOT
Applications
MyProgram.exe
FriendlyAppName = Friendly Name
shell
open
command
(Default) = C:\MyDir\MyProgram.exe /a "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /a /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /a /p "%1" "%2" %3 %4
Rozszerzanie nowego podmenu
Gdy użytkownik otworzy menu plik w Eksploratorze Windows, pierwszym poleceniem jest Nowy. Wybranie tego polecenia powoduje wyświetlenie podmenu. Domyślnie zawiera dwa polecenia, Folder i Shortcut, które umożliwiają użytkownikom tworzenie podfolderów i skrótów. Ten podmenu można rozszerzyć w celu uwzględnienia poleceń tworzenia plików dla dowolnego typu pliku.
Aby dodać polecenie tworzenia plików do podmenu New, pliki aplikacji muszą mieć skojarzony typ pliku . Dołącz podklucz ShellNew w kluczu rozszerzenia nazwy pliku. Po wybraniu Shell polecenia Nowy menu Plik zostanie ono dodane do podmenu Nowy. Ciąg wyświetlany polecenia będzie ciągiem opisowym przypisanym do identyfikatora ProgID programu.
Przypisz co najmniej jedną wartość danych do podklucza ShellNew, aby określić metodę tworzenia pliku. Dostępne wartości są następujące.
| Wartość | Opis |
|---|---|
| Polecenie | Wykonuje aplikację. Jest to REG_SZ wartość określająca ścieżkę aplikacji do wykonania. Można na przykład ustawić go tak, aby uruchamiał kreatora. |
| Dane | Tworzy plik zawierający określone dane. Dane to wartość REG_BINARY zawierająca dane pliku. Dane są ignorowane, jeśli określono wartość NullFile lub FileName. |
| Nazwa pliku | Tworzy plik, który jest kopią określonego pliku. FileName jest wartością REG_SZ, która określa pełną ścieżkę pliku przeznaczonego do kopiowania. |
| PustyPlik | Tworzy pusty plik. Wartość NullFile nie jest przypisana. Jeśli określono wartość NullFile, wartości Data i FileName są ignorowane. |
Na poniższej ilustracji przedstawiono podmenu New dla typu pliku myp używanego jako przykład w Typy plików i Dostosowywanie ikon. Teraz ma polecenie MyProgram Application. Gdy użytkownik wybierze aplikację MyProgram z podmenu Nowy, Shell tworzy plik o nazwie "Nowa aplikacja MyProgram.myp", przekazując go do MyProgram.exe.
Wpis rejestru jest teraz następujący:
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
MyProgram.1
ShellNew
NullFile
MyProgram.1
(Default) = MyProgram Application
DefaultIcon
(Default) = C:\MyDir\MyProgram.exe,2
Shell
(Default) = doit
open
command
(Default) = C:\MyDir\MyProgram.exe "%1"
doit
(Default) = &Do It
command
(Default) = C:\MyDir\MyProgram.exe /d "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /p "%1" "%2" %3 %4