Udostępnij przez


Integracja aplikacji desktopowej z systemem Windows przy użyciu rozszerzeń pakietów

Jeśli twoja aplikacja dla komputerów stacjonarnych jest spakowana (ma tożsamość pakietu w czasie działania), możesz użyć rozszerzeń do zintegrowania aplikacji z systemem Windows przy użyciu wstępnie zdefiniowanych rozszerzeń w manifeście pakietu. Zobacz również Funkcje, które wymagają tożsamości pakietu.

Na przykład użyj rozszerzenia, aby utworzyć wyjątek zapory; ustaw swoją aplikację jako domyślną aplikację dla typu pliku; albo skonfiguruj kafelki Start do swojej aplikacji. Aby użyć rozszerzenia, wystarczy dodać kod XML do pliku manifestu pakietu aplikacji. Kod nie jest wymagany.

W tym temacie opisano te rozszerzenia i zadania, które można wykonać przy użyciu tych rozszerzeń.

Uwaga / Notatka

Funkcje opisane w tym temacie wymagają, aby aplikacja została spakowana (ma tożsamość pakietu w czasie wykonywania). Obejmuje to aplikacje pakietowe (zobacz Tworzenie nowego projektu dla aplikacji pakietowej WinUI 3 na komputer) oraz aplikacje pakietowe z lokalizacją zewnętrzną (zobacz Przyznanie tożsamości pakietu poprzez pakowanie z lokalizacją zewnętrzną). Zobacz również Funkcje, które wymagają tożsamości pakietu.

Przenoszenie użytkowników do aplikacji

Pomóż użytkownikom przejść do pakietowej aplikacji.

Przekieruj istniejącą aplikację desktopową do aplikacji pakietowej

Gdy użytkownicy uruchamiają Twoją istniejącą rozpakowaną aplikację klasyczną na komputerze, możesz skonfigurować aplikację spakowaną, aby została otwarta zamiast niej.

Uwaga / Notatka

Ta funkcja jest obsługiwana w wersji Windows Insider Preview Build 21313 i nowszych wersjach.

Aby włączyć to zachowanie:

  1. Dodaj wpisy rejestru, aby przekierować plik wykonywalny rozpakowanej aplikacji komputerowej do spakowanej aplikacji.
  2. Zarejestruj aplikację spakowaną do uruchomienia, gdy plik wykonywalny nieopakowanej aplikacji komputerowej zostanie uruchomiony.

Dodaj wpisy rejestru, aby przekierować plik wykonywalny rozpakowanej aplikacji komputerowej

  1. W rejestrze utwórz podklucz o nazwie pliku wykonywalnego swojej aplikacji na pulpit pod kluczem HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
  2. W tym podkluczu dodaj następujące wartości:
    • AppExecutionAliasRedirect (DWORD): jeśli ustawiono wartość 1, system sprawdzi rozszerzenie pakietu AppExecutionAlias o tej samej nazwie co plik wykonywalny. Jeśli rozszerzenie AppExecutionAlias jest włączone, spakowana aplikacja zostanie aktywowana przy użyciu tej wartości.
    • AppExecutionAliasRedirectPackages (REG_SZ): system przekierowuje tylko do wymienionych pakietów. Pakiety są wyświetlane według ich nazwy rodziny pakietów, oddzielone średnikami. Jeśli używana jest wartość specjalna *, system przekieruje do AppExecutionAlias z dowolnego pakietu.

Przykład:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe 
    AppExecutionAliasRedirect = 1
    AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe" 

Zarejestruj spakowaną aplikację do uruchomienia

W manifeście pakietu dodaj rozszerzenie AppExecutionAlias , które rejestruje nazwę niespakowanej aplikacji komputerowej. Przykład:

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension Category="windows.appExecutionAlias" EntryPoint="Windows.FullTrustApplication">
          <uap3:AppExecutionAlias>
            <desktop:ExecutionAlias Alias="contosoapp.exe" />
          </uap3:AppExecutionAlias>
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Wyłączanie przekierowania

Użytkownicy mogą wyłączyć przekierowanie i uruchomić plik wykonywalny aplikacji rozpakowanej za pomocą następujących opcji:

  • Mogą odinstalować spakowaną wersję aplikacji.
  • Użytkownik może wyłączyć wpis AppExecutionAlias dla swojej zapakowanej aplikacji na stronie aliasów wykonywania aplikacji w Ustawieniach.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elementy i atrybuty tego rozszerzenia

<uap3:Extension
    Category="windows.appExecutionAlias"
    EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </uap3:AppExecutionAlias>
</uap3:Extension>
Nazwa Opis
Kategoria Zawsze windows.appExecutionAlias.
Plik wykonywalny Ścieżka względna do pliku wykonywalnego, który jest uruchamiany po wywołaniu aliasu.
Pseudonim Krótka nazwa aplikacji. Zawsze musi kończyć się rozszerzeniem ".exe".

Wskazywanie istniejących kafelków Start i przycisków paska zadań do spakowanej aplikacji

Państwa użytkownicy mogli przypiąć Państwa aplikację komputerową do paska zadań lub menu Start. Możesz wskazać te skróty do nowej spakowanej aplikacji.

Przestrzeń nazw XML

http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.desktopAppMigration">
    <DesktopAppMigration>
        <DesktopApp AumId="[your_app_aumid]" />
        <DesktopApp ShortcutPath="[path]" />
    </DesktopAppMigration>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.desktopAppMigration.
Identyfikator AumID Identyfikator modelu użytkownika spakowanej aplikacji.
Ścieżka skrótu Ścieżka do .lnk plików, które uruchamiają wersję klasyczną aplikacji.

Przykład

<Package
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="rescap3">
  <Applications>
    <Application>
      <Extensions>
        <rescap3:Extension Category="windows.desktopAppMigration">
          <rescap3:DesktopAppMigration>
            <rescap3:DesktopApp AumId="[your_app_aumid]" />
            <rescap3:DesktopApp ShortcutPath="%USERPROFILE%\Desktop\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\[my_app_folder]\[my_app].lnk"/>
         </rescap3:DesktopAppMigration>
        </rescap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Przeglądarka obrazów WPF z przejściem/migracją/odinstalowywaniem

Spraw, aby Twoja aplikacja spakowana otwierała pliki zamiast tradycyjnej aplikacji desktopowej

Możesz upewnić się, że użytkownicy domyślnie otwierają nową spakowana aplikację dla określonych typów plików zamiast otwierać wersję klasyczną aplikacji.

W tym celu określisz identyfikator programowy (ProgID) każdej aplikacji, z której chcesz dziedziczyć skojarzenia plików.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
         <MigrationProgIds>
            <MigrationProgId>"[ProgID]"</MigrationProgId>
        </MigrationProgIds>
    </FileTypeAssociation>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Identyfikator MigrationProgId Identyfikator programowy (ProgID), który opisuje aplikację, komponent i wersję aplikacji pulpitowej, z której chcesz dziedziczyć skojarzenia plików.

Przykład

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap3, rescap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <rescap3:MigrationProgIds>
              <rescap3:MigrationProgId>Foo.Bar.1</rescap3:MigrationProgId>
              <rescap3:MigrationProgId>Foo.Bar.2</rescap3:MigrationProgId>
            </rescap3:MigrationProgIds>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Przeglądarka obrazów WPF z przejściem/migracją/odinstalowywaniem

Kojarzenie spakowanej aplikacji z zestawem typów plików

Spakowana aplikacja może być skojarzona z rozszerzeniami typów plików. Jeśli użytkownik kliknie prawym przyciskiem myszy plik w Eksploratorze plików, a następnie wybierze opcję Otwórz za pomocą , aplikacja pojawi się na liście sugestii. Aby uzyskać więcej informacji na temat korzystania z tego rozszerzenia, zobacz Integrowanie spakowanej aplikacji klasycznej z Eksploratorem plików.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[file extension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Typ pliku Rozszerzenie pliku obsługiwane przez aplikację.

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="mediafiles">
            <uap:SupportedFileTypes>
            <uap:FileType>.avi</uap:FileType>
            </uap:SupportedFileTypes>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Przeglądarka obrazów WPF z przejściem/migracją/odinstalowywaniem

Dodawanie opcji do menu kontekstowych plików, które mają określony typ pliku

To rozszerzenie umożliwia dodawanie opcji do menu kontekstowego wyświetlanego po kliknięciu pliku prawym przyciskiem myszy w Eksploratorze plików. Te opcje umożliwiają użytkownikom inne sposoby interakcji z plikiem, takim jak drukowanie, edytowanie lub podgląd pliku. Aby uzyskać więcej informacji na temat korzystania z tego rozszerzenia, zobacz Integrowanie spakowanej aplikacji klasycznej z Eksploratorem plików.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedVerbs>
           <Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
        </SupportedVerbs>
    </FileTypeAssociation>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Czasownik Nazwa wyświetlana w menu kontekstowym Eksploratora plików. Ten ciąg jest lokalizowalny, który używa ms-resource.
Id Unikalny identyfikator czasownika. Jeśli aplikacja jest aplikacją UWP, jest ona przekazywana do aplikacji jako część argumentów zdarzenia aktywacji, aby mogła odpowiednio obsłużyć wybór użytkownika. Jeśli aplikacja jest aplikacją o pełnym zaufaniu, otrzymuje zamiast tego parametry (zobacz następny punkt).
Parametry Lista parametrów argumentów i wartości skojarzonych z czasownikiem. Jeśli aplikacja jest pakietem z pełnym zaufaniem, te parametry są przekazywane do programu jako argumenty zdarzeń, gdy aplikacja zostanie aktywowana. Zachowanie aplikacji można dostosować na podstawie różnych czasowników aktywacji. Jeśli zmienna może zawierać ścieżkę pliku, zawijaj wartość parametru w cudzysłowie. Pozwoli to uniknąć wszelkich problemów występujących w przypadkach, w których ścieżka zawiera spacje. Jeśli aplikacja jest aplikacją platformy UWP, nie można przekazać parametrów. Aplikacja zamiast tego otrzymuje identyfikator (zobacz poprzedni punkt).
Rozszerzone Określa, że czasownik jest wyświetlany tylko wtedy, gdy użytkownik wyświetla menu kontekstowe, trzymając Shift przed kliknięciem prawym przyciskiem myszy pliku. Ten atrybut jest opcjonalny i domyślnie ma wartość False (na przykład zawsze wyświetla czasownik), jeśli nie ma na liście. To zachowanie określa się indywidualnie dla każdego czasownika (z wyjątkiem "Open", który jest zawsze false).

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"

  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" Parameters="/e &quot;%1&quot;">Edit</uap3:Verb>
              <uap3:Verb Id="Print" Extended="true" Parameters="/p &quot;%1&quot;">Print</uap3:Verb>
            </uap2:SupportedVerbs>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Przeglądarka obrazów WPF z przejściem/migracją/odinstalowywaniem

Otwieranie niektórych typów plików bezpośrednio przy użyciu adresu URL

Możesz upewnić się, że użytkownicy domyślnie otwierają nową spakowana aplikację dla określonych typów plików zamiast otwierać wersję klasyczną aplikacji.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Użyj URL Wskazuje, czy pliki mają być otwierane bezpośrednio z miejsca docelowego adresu URL. Jeśli ta wartość nie zostanie ustawiona, aplikacja spróbuje otworzyć plik przy użyciu adresu URL, co spowoduje, że system najpierw pobierze plik lokalnie.
Parametry Parametry opcjonalne.
Typ pliku Odpowiednie rozszerzenia plików.

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
      <Application>
        <Extensions>
          <uap:Extension Category="windows.fileTypeAssociation">
            <uap3:FileTypeAssociation Name="myfiletypes" UseUrl="true" Parameters="%1">
              <uap:SupportedFileTypes>
                <uap:FileType>.txt</uap:FileType>
                <uap:FileType>.doc</uap:FileType>
              </uap:SupportedFileTypes>
            </uap3:FileTypeAssociation>
          </uap:Extension>
        </Extensions>
      </Application>
    </Applications>
</Package>

Wykonywanie zadań konfiguracji

Utwórz wyjątek zapory sieciowej dla swojej aplikacji

Jeśli aplikacja wymaga komunikacji za pośrednictwem portu, możesz dodać aplikację do listy wyjątków zapory.

Uwaga / Notatka

Aby użyć kategorii rozszerzenia "windows.firewallRules" (patrz poniżej), pakiet wymaga ograniczonej możliwości poziomu uprawnień pełnego zaufania. Zobacz Lista możliwości z ograniczeniami.

Przestrzeń nazw XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.firewallRules">
  <FirewallRules Executable="[executable file name]">
    <Rule
      Direction="[Direction]"
      IPProtocol="[Protocol]"
      LocalPortMin="[LocalPortMin]"
      LocalPortMax="LocalPortMax"
      RemotePortMin="RemotePortMin"
      RemotePortMax="RemotePortMax"
      Profile="[Profile]"/>
  </FirewallRules>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.firewallRules
Plik wykonywalny Nazwa pliku wykonywalnego, który chcesz dodać do listy wyjątków zapory
Kierunek Wskazuje, czy reguła jest regułą ruchu przychodzącego, czy wychodzącego
IpProtocol Protokół komunikacyjny
LocalPortMin (Lokalny PortMin) Niższy numer portu w zakresie numerów portów lokalnych.
LocalPortMax (Lokalny PortMax) Najwyższy numer portu z zakresu lokalnych numerów portów.
Zdalny PortMax Niższy numer portu w zakresie numerów portów zdalnych.
Zdalny PortMax Najwyższy numer portu z zakresu numerów portów zdalnych.
Profil Typ sieci

Przykład

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Extensions>
    <desktop2:Extension Category="windows.firewallRules">
      <desktop2:FirewallRules Executable="Contoso.exe">
          <desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="domain"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="public"/>
          <desktop2:Rule Direction="out" IPProtocol="UDP" LocalPortMin="1339" LocalPortMax="1340" RemotePortMin="15"
                         RemotePortMax="19" Profile="domainAndPrivate"/>
          <desktop2:Rule Direction="out" IPProtocol="GRE" Profile="private"/>
      </desktop2:FirewallRules>
  </desktop2:Extension>
</Extensions>
</Package>

Umieść pliki DLL w dowolnym folderze pakietu

Użyj rozszerzenia uap6:LoaderSearchPathOverride , aby zadeklarować maksymalnie pięć ścieżek folderów w pakiecie aplikacji względem ścieżki głównej pakietu aplikacji do użycia w ścieżce wyszukiwania modułu ładującego dla procesów aplikacji.

Kolejność wyszukiwania bibliotek DLL dla aplikacji systemu Windows zawiera pakiety na grafie zależności pakietu, jeśli pakiety mają prawa wykonywania. Domyślnie obejmuje to pakiety główne, opcjonalne i struktury, chociaż można je zastąpić za pomocą elementu uap6:AllowExecution w manifeście pakietu.

Pakiet, który jest uwzględniony w kolejności wyszukiwania bibliotek DLL, domyślnie będzie zawierać jego obowiązującą ścieżkę. Aby uzyskać więcej informacji na temat obowiązujących ścieżek, zobacz właściwość EffectivePath (WinRT) EffectivePathType i PackagePathType wyliczenie (Win32).

Jeśli pakiet określa uap6:LoaderSearchPathOverride, te informacje są używane zamiast obowiązującej ścieżki pakietu.

Każdy pakiet może zawierać tylko jedno rozszerzenie uap6:LoaderSearchPathOverride . Oznacza to, że można dodać jeden z nich do głównego pakietu, a następnie dodać jeden do każdego z opcjonalnych pakietów i powiązanych zestawów.

Przestrzeń nazw XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/6

Elementy i atrybuty tego rozszerzenia

Zadeklaruj to rozszerzenie na poziomie pakietu manifestu aplikacji.

<Extension Category="windows.loaderSearchPathOverride">
  <LoaderSearchPathOverride>
    <LoaderSearchPathEntry FolderPath="[path]"/>
  </LoaderSearchPathOverride>
</Extension>

Nazwa Opis
Kategoria Zawsze windows.loaderSearchPathOverride.
Ścieżka folderu Ścieżka folderu zawierającego pliki DLL. Określ ścieżkę względną dla folderu głównego pakietu. W jednym rozszerzeniu można określić maksymalnie pięć ścieżek. Jeśli chcesz, aby system wyszukiwał pliki w folderze głównym pakietu, użyj pustego ciągu dla jednej z tych ścieżek. Nie dołączaj zduplikowanych ścieżek i upewnij się, że ścieżki nie zawierają ukośników na początku i końcu ani ukośników odwrotnych.

System nie będzie przeszukiwał podfolderów, dlatego należy jawnie wyświetlić listę każdego folderu zawierającego pliki DLL, które mają zostać załadowane przez system.

Przykład

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
  IgnorableNamespaces="uap6">
  ...
    <Extensions>
      <uap6:Extension Category="windows.loaderSearchPathOverride">
        <uap6:LoaderSearchPathOverride>
          <uap6:LoaderSearchPathEntry FolderPath=""/>
          <uap6:LoaderSearchPathEntry FolderPath="folder1/subfolder1"/>
          <uap6:LoaderSearchPathEntry FolderPath="folder2/subfolder2"/>
        </uap6:LoaderSearchPathOverride>
      </uap6:Extension>
    </Extensions>
...
</Package>

Integracja z Eksploratorem plików

Pomóż użytkownikom organizować pliki i korzystać z nich w znany sposób.

Definiowanie sposobu działania aplikacji podczas wybierania i otwierania wielu plików w tym samym czasie przez użytkowników

Określ, jak działa aplikacja, gdy użytkownik otwiera wiele plików jednocześnie.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
        <SupportedVerbs>
            <Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
        </SupportedVerbs>
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
ModelWielokrotnegoWyboru Zobacz poniżej
Typ pliku Odpowiednie rozszerzenia plików.

MultiSelectModel (Model wielokrotnego wyboru)

Spakowane aplikacje klasyczne mają te same trzy opcje co zwykłe aplikacje klasyczne.

  • Player: Aplikacja jest aktywowana jednorazowo. Wszystkie wybrane pliki są przekazywane do aplikacji jako parametry argumentu.
  • Single: Aplikacja jest aktywowana jednorazowo dla pierwszego wybranego pliku. Inne pliki są ignorowane.
  • Document: nowe, oddzielne wystąpienie aplikacji jest aktywowane dla każdego wybranego pliku.

Można ustawić różne preferencje dla różnych typów plików i akcji. Możesz na przykład otworzyć dokumenty w trybie dokument oraz obrazy w trybie odtwarzacza.

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes" MultiSelectModel="Document">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" MultiSelectModel="Player">Edit</uap3:Verb>
              <uap3:Verb Id="Preview" MultiSelectModel="Document">Preview</uap3:Verb>
            </uap2:SupportedVerbs>
            <uap:SupportedFileTypes>
              <uap:FileType>.txt</uap:FileType>
            </uap:SupportedFileTypes>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Jeśli użytkownik otworzy 15 lub mniej plików, domyślnym wyborem atrybutu MultiSelectModel jest Player. W przeciwnym razie wartością domyślną jest Dokument. Aplikacje platformy UWP są zawsze uruchamiane jako odtwarzacz.

Pokazywanie zawartości pliku na obrazie miniatury w Eksploratorze plików

Umożliwia użytkownikom wyświetlanie miniatury zawartości pliku, gdy ikona pliku jest wyświetlana w średnim, dużym lub bardzo dużym rozmiarze.

Przestrzeń nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <ThumbnailHandler
            Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Typ pliku Odpowiednie rozszerzenia plików.
Identyfikator CLSID Identyfikator klasy aplikacji.

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap:SupportedFileTypes>
            <desktop2:ThumbnailHandler
              Clsid  ="20000000-0000-0000-0000-000000000001"  />
            </uap3:FileTypeAssociation>
         </uap::Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Pokaż zawartość pliku w okienku Podgląd Eksploratora plików

Umożliwia użytkownikom wyświetlanie podglądu zawartości pliku w okienku Podgląd Eksploratora plików.

Przestrzeń nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <DesktopPreviewHandler Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Typ pliku Odpowiednie rozszerzenia plików.
Identyfikator CLSID Identyfikator klasy aplikacji.

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
                </uap:SupportedFileTypes>
              <desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
           </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Umożliwianie użytkownikom grupowania plików przy użyciu kolumny Kind w Eksploratorze plików

Z polem Kind można skojarzyć co najmniej jedną wstępnie zdefiniowaną wartość dla typów plików.

W Eksploratorze plików użytkownicy mogą grupować te pliki przy użyciu tego pola. Składniki systemowe używają tego pola również do różnych celów, takich jak indeksowanie.

Aby uzyskać więcej informacji na temat pola Kind (Rodzaj ) i wartości, których można użyć w tym polu, zobacz Using Kind Names (Używanie nazw typów).

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <KindMap>
            <Kind value="[KindValue]">
        </KindMap>
    </FileTypeAssociation>
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Typ pliku Odpowiednie rozszerzenia plików.
wartość Prawidłowa wartość rodzaju

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap, rescap">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
           <uap:FileTypeAssociation Name="mediafiles">
             <uap:SupportedFileTypes>
               <uap:FileType>.m4a</uap:FileType>
               <uap:FileType>.mta</uap:FileType>
             </uap:SupportedFileTypes>
             <rescap:KindMap>
               <rescap:Kind value="Item">
               <rescap:Kind value="Communications">
               <rescap:Kind value="Task">
             </rescap:KindMap>
          </uap:FileTypeAssociation>
      </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Udostępnianie właściwości pliku do wyszukiwania, indeksu, okien dialogowych właściwości i okienka szczegółów

Przestrzeń nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elementy i atrybuty tego rozszerzenia

<uap:Extension Category="windows.fileTypeAssociation">
    <uap:FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>.bar</FileType>
        </SupportedFileTypes>
        <DesktopPropertyHandler Clsid ="[Clsid]"/>
    </uap:FileTypeAssociation>
</uap:Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.fileTypeAssociation.
Nazwa Nazwa skojarzenia typu pliku. Tej nazwy można użyć do organizowania i grupowania typów plików. Nazwa musi zawierać wszystkie małe litery bez spacji.
Typ pliku Odpowiednie rozszerzenia plików.
Identyfikator CLSID Identyfikator klasy aplikacji.

Przykład

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap:SupportedFileTypes>
            <desktop2:DesktopPropertyHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Określanie procedury obsługi menu kontekstowego dla typu pliku

Jeśli aplikacja desktopowa definiuje obsługę menu kontekstowego , użyj tego rozszerzenia, aby zarejestrować obsługę menu.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/foundation/windows10
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/4

Elementy i atrybuty tego rozszerzenia

<Extensions>
    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="[AppID]" DisplayName="[DisplayName]">
                <com:Class Id="[Clsid]" Path="[Path]" ThreadingModel="[Model]"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type="[Type]">
                <desktop4:Verb Id="[ID]" Clsid="[Clsid]" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
</Extensions>

Znajdź pełną dokumentację schematu tutaj: com:ComServer i desktop4:FileExplorerContextMenus.

Instrukcje

Aby zarejestrować procedurę obsługi menu kontekstowego, postępuj zgodnie z tymi instrukcjami.

  1. W aplikacji komputerowej zaimplementuj program obsługi menu kontekstowego , implementując interfejs IExplorerCommand lub IExplorerCommandState . Aby zapoznać się z przykładem, zobacz przykładowy kod ExplorerCommandVerb . Upewnij się, że zdefiniowano identyfikator GUID klasy dla każdego obiektu implementacji. Na przykład poniższy kod definiuje identyfikator klasy dla implementacji interfejsu IExplorerCommand.

    class __declspec(uuid("00001111-aaaa-2222-bbbb-3333cccc4444")) CExplorerCommandVerb;
    
  2. W manifeście pakietu określ rozszerzenie aplikacji com:ComServer , które rejestruje serwer zastępczy COM z identyfikatorem klasy implementacji programu obsługi menu kontekstowego.

    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
                <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    
  3. W manifeście pakietu określ rozszerzenie aplikacji desktop4:FileExplorerContextMenus , które rejestruje implementację programu obsługi menu kontekstowego.

    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".rar">
                <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
    

Przykład

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
  xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
  IgnorableNamespaces="desktop4">
  <Applications>
    <Application>
      <Extensions>
        <com:Extension Category="windows.comServer">
          <com:ComServer>
            <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
              <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
          </com:ComServer>
        </com:Extension>
        <desktop4:Extension Category="windows.fileExplorerContextMenus">
          <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".contoso">
              <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" />
            </desktop4:ItemType>
          </desktop4:FileExplorerContextMenus>
        </desktop4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Wyświetlaj pliki z Twojej usługi w chmurze w Eksploratorze plików

Zarejestruj obsługiwane przez ciebie moduły w swojej aplikacji. Możesz również dodać opcje menu kontekstowego wyświetlane po kliknięciu plików opartych na chmurze prawym przyciskiem myszy w Eksploratorze plików.

Przestrzeń nazw XML

  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.cloudfiles" >
    <CloudFiles IconResource="[Icon]">
        <CustomStateHandler Clsid ="[Clsid]"/>
        <ThumbnailProviderHandler Clsid ="[Clsid]"/>
        <ExtendedPropertyhandler Clsid ="[Clsid]"/>
        <CloudFilesContextMenus>
            <Verb Id ="Command3" Clsid= "[GUID]">[Verb Label]</Verb>
        </CloudFilesContextMenus>
    </CloudFiles>
</Extension>

Nazwa Opis
Kategoria Zawsze windows.cloudfiles.
iconResource (zasób ikony) Ikona reprezentująca usługę dostawcy plików w chmurze. Ta ikona jest wyświetlana w okienku Nawigacji w Eksploratorze plików. Użytkownicy wybierają tę ikonę, aby wyświetlić pliki z usługi w chmurze.
CustomStateHandler Clsid Identyfikator klasy aplikacji, która implementuje program CustomStateHandler. System używa tego identyfikatora klasy do żądania niestandardowych stanów i kolumn dla plików w chmurze.
ThumbnailProviderHandler Clsid Identyfikator klasy aplikacji, która implementuje program ThumbnailProviderHandler. System używa tego identyfikatora klasy do żądania miniatur obrazów dla plików w chmurze.
ObsługiwaczRozszerzonychWłaściwości Clsid Identyfikator klasy aplikacji, która implementuje program ExtendedPropertyHandler. System używa tego identyfikatora klasy do żądania rozszerzonych właściwości pliku w chmurze.
Czasownik Nazwa wyświetlana w menu kontekstowym Eksploratora plików dla plików udostępnianych przez usługę w chmurze.
Id Unikatowy identyfikator czasownika.

Przykład

<Package
    xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
    IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <Extension Category="windows.cloudfiles" >
            <CloudFiles IconResource="images\Wide310x150Logo.png">
                <CustomStateHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ThumbnailProviderHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ExtendedPropertyhandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <desktop:CloudFilesContextMenus>
                    <desktop:Verb Id ="keep" Clsid=
                       "20000000-0000-0000-0000-000000000001">
                       Always keep on this device</desktop:Verb>
                </desktop:CloudFilesContextMenus>
            </CloudFiles>
          </Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Uruchamianie aplikacji na różne sposoby

Uruchamianie aplikacji przy użyciu protokołu

Skojarzenia protokołów mogą umożliwić współdziałanie innych programów i składników systemowych z twoją spakowaną aplikacją. Po uruchomieniu spakowanej aplikacji przy użyciu protokołu można określić określone parametry, które mają być przekazywane do argumentów zdarzeń aktywacji, aby mogła działać odpowiednio. Parametry są obsługiwane tylko w przypadku spakowanych aplikacji o pełnym zaufaniu. Aplikacje platformy UWP nie mogą używać parametrów.

Przestrzeń nazw XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elementy i atrybuty tego rozszerzenia

<Extension
    Category="windows.protocol">
  <Protocol
      Name="[Protocol name]"
      Parameters="[Parameters]" />
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.protocol.
Nazwa Nazwa protokołu.
Parametry Lista parametrów i wartości, które mają być przekazywane do aplikacji jako argumenty zdarzeń po aktywowaniu aplikacji. Jeśli zmienna może zawierać ścieżkę pliku, zawijaj wartość parametru w cudzysłowie. Pozwoli to uniknąć wszelkich problemów występujących w przypadkach, w których ścieżka zawiera spacje.

Przykład

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="uap3, desktop">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension
          Category="windows.protocol">
          <uap3:Protocol
            Name="myapp-cmd"
            Parameters="/p &quot;%1&quot;" />
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Uruchamianie aplikacji przy użyciu aliasu

Użytkownicy i inne procesy mogą używać aliasu do uruchamiania aplikacji bez konieczności określania pełnej ścieżki do aplikacji. Możesz określić tę nazwę aliasu.

Przestrzenie nazw XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elementy i atrybuty tego rozszerzenia

<uap3:Extension
    Category="windows.appExecutionAlias"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </uap3:AppExecutionAlias>
</uap3:Extension>
Nazwa Opis
Kategoria Zawsze windows.appExecutionAlias.
Plik wykonywalny Ścieżka względna do pliku wykonywalnego, który jest uruchamiany po wywołaniu aliasu.
Pseudonim Krótka nazwa aplikacji. Zawsze musi kończyć się rozszerzeniem ".exe". Można określić tylko jeden alias wykonywania aplikacji dla każdej aplikacji w pakiecie. Jeśli wiele aplikacji zarejestruje się dla tego samego aliasu, system wywoła tę, która została zarejestrowana jako ostatnia, więc upewnij się, że wybierasz unikatowy alias, którego inne aplikacje prawdopodobnie nie nadpiszą.

Przykład

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
         <uap3:Extension
                Category="windows.appExecutionAlias"
                Executable="exes\launcher.exe"
                EntryPoint="Windows.FullTrustApplication">
            <uap3:AppExecutionAlias>
                <desktop:ExecutionAlias Alias="Contoso.exe" />
            </uap3:AppExecutionAlias>
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Znajdź pełną dokumentację schematu tutaj.

Uruchamianie pliku wykonywalnego, gdy użytkownicy logują się do systemu Windows

Zadania uruchamiania umożliwiają aplikacji automatyczne uruchamianie pliku wykonywalnego za każdym razem, gdy użytkownik zaloguje się.

Uwaga / Notatka

Użytkownik musi uruchomić aplikację co najmniej raz, aby zarejestrować to zadanie uruchamiania.

Aplikacja może zadeklarować wiele zadań uruchamiania. Każde zadanie jest uruchamiane niezależnie. Wszystkie zadania uruchamiania będą wyświetlane w Menedżerze zadań na karcie Uruchamianie z nazwą podaną w manifeście aplikacji i ikoną aplikacji. Menedżer zadań automatycznie przeanalizuje wpływ uruchamiania zadań.

Użytkownicy mogą ręcznie wyłączyć zadanie uruchamiania aplikacji przy użyciu Menedżera zadań. Jeśli użytkownik wyłączy zadanie, nie można go ponownie włączyć programowo.

Przestrzeń nazw XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elementy i atrybuty tego rozszerzenia

<Extension
    Category="windows.startupTask"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
  <StartupTask
      TaskId="[TaskID]"
      Enabled="true"
      DisplayName="[DisplayName]" />
</Extension>
Nazwa Opis
Kategoria Zawsze windows.startupTask.
Plik wykonywalny Ścieżka względna do uruchomienia pliku wykonywalnego.
Identyfikator zadania Unikatowy identyfikator zadania. Za pomocą tego identyfikatora aplikacja może wywoływać interfejsy API w klasie Windows.ApplicationModel.StartupTask , aby programowo włączyć lub wyłączyć zadanie uruchamiania.
Włączone Wskazuje, czy zadanie rozpoczyna się z włączoną czy wyłączoną funkcjonalnością. Włączone zadania będą uruchamiane przy następnym zalogowaniu się użytkownika (chyba że użytkownik go wyłączy).
Nazwa wyświetlana Nazwa zadania wyświetlanego w Menedżerze zadań. Możesz zlokalizować ten ciąg przy użyciu polecenia ms-resource.

Przykład

<Package
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <desktop:Extension
          Category="windows.startupTask"
          Executable="bin\MyStartupTask.exe"
          EntryPoint="Windows.FullTrustApplication">
        <desktop:StartupTask
          TaskId="MyStartupTask"
          Enabled="true"
          DisplayName="My App Service" />
        </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
 </Package>

Umożliwianie użytkownikom uruchamiania aplikacji podczas łączenia urządzenia z komputerem

Funkcja Autoodtwarzanie może prezentować aplikację jako opcję, gdy użytkownik podłącza urządzenie do komputera.

Przestrzeń nazw XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/3

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.autoPlayHandler">
  <AutoPlayHandler>
    <InvokeAction ActionDisplayName="[action string]" ProviderDisplayName="[name of your app/service]">
      <Content ContentEvent="[Content event]" Verb="[any string]" DropTargetHandler="[Clsid]" />
      <Content ContentEvent="[Content event]" Verb="[any string]" Parameters="[Initialization parameter]"/>
      <Device DeviceEvent="[Device event]" HWEventHandler="[Clsid]" InitCmdLine="[Initialization parameter]"/>
    </InvokeAction>
  </AutoPlayHandler>
Nazwa Opis
Kategoria Zawsze windows.autoPlayHandler.
WyświetlanaNazwaAkcji Ciąg reprezentujący akcję, którą użytkownicy mogą wykonać za pomocą urządzenia, które łączą się z komputerem (na przykład: "Importuj pliki" lub "Odtwórz wideo").
NazwaWyświetlanaDostawcy Ciąg reprezentujący aplikację lub usługę (na przykład: "Odtwarzacz wideo firmy Contoso").
Wydarzenie Związane z Treścią Nazwa zdarzenia zawartości, które powoduje, że użytkownicy otrzymają powiadomienie za pomocą ActionDisplayName i ProviderDisplayName. Zdarzenie zawartości jest zgłaszane, gdy urządzenie magazynujące, takie jak karta pamięci aparatu, pamięć USB lub dysk DVD, jest podłączane do komputera. Pełną listę tych zdarzeń można znaleźć tutaj.
Czasownik Ustawienie Verb określa wartość przekazywaną do aplikacji dla wybranej opcji. Możesz określić wiele akcji uruchamiania dla zdarzenia autoodtwarzania i użyć ustawienia Czasownik, aby określić, która opcja została wybrana przez użytkownika dla aplikacji. Możesz określić, którą opcję wybrał użytkownik, sprawdzając właściwość "verb" w argumentach zdarzenia uruchamiania przekazanych do aplikacji. Możesz użyć dowolnej wartości dla ustawienia 'Verb', z wyjątkiem 'open', który jest zarezerwowany.
DropTargetHandler Identyfikator klasy aplikacji, która implementuje interfejs IDropTarget . Pliki z nośnika wymiennego są przekazywane do metody Drop implementacji IDropTarget .
Parametry Nie trzeba implementować interfejsu IDropTarget dla wszystkich zdarzeń zawartości. Można podać parametry wiersza polecenia dla dowolnego ze zdarzeń zawartości zamiast implementować interfejs IDropTarget. W przypadku tych zdarzeń AutoPlay uruchomi aplikację przy użyciu tych parametrów wiersza polecenia. Możesz przeanalizować te parametry w kodzie inicjowania aplikacji, aby określić, czy została uruchomiona przez AutoPlay, a następnie zastosować niestandardową implementację.
Zdarzenie DeviceEvent Nazwa zdarzenia urządzenia, które powoduje, że użytkownicy są proszeni o podanie ActionDisplayName i ProviderDisplayName. Zdarzenie dotyczące urządzenia jest wywoływane, gdy urządzenie zostanie podłączone do komputera. Zdarzenia urządzenia zaczynają się od ciągu WPD i można je znaleźć tutaj.
HWEventHandler Identyfikator klasy aplikacji, która implementuje interfejs IHWEventHandler .
InitCmdLine Parametr ciągu, który chcesz przekazać do metody Initialize interfejsu IHWEventHandler .

Przykład

<Package
  xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
  IgnorableNamespaces="desktop3">
  <Applications>
    <Application>
      <Extensions>
        <desktop3:Extension Category="windows.autoPlayHandler">
          <desktop3:AutoPlayHandler>
            <desktop3:InvokeAction ActionDisplayName="Import my files" ProviderDisplayName="ms-resource:AutoPlayDisplayName">
              <desktop3:Content ContentEvent="ShowPicturesOnArrival" Verb="show" DropTargetHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8"/>
              <desktop3:Content ContentEvent="PlayVideoFilesOnArrival" Verb="play" Parameters="%1" />
              <desktop3:Device DeviceEvent="WPD\ImageSource" HWEventHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8" InitCmdLine="/autoplay"/>
            </desktop3:InvokeAction>
          </desktop3:AutoPlayHandler>
      </Extensions>
    </Application>
  </Applications>
</Package>

Uruchom ponownie automatycznie po otrzymaniu aktualizacji ze sklepu Microsoft Store

Jeśli aplikacja jest otwarta, gdy użytkownicy instalują aktualizację, aplikacja zostanie zamknięta.

Jeśli chcesz, aby ta aplikacja została uruchomiona ponownie po zakończeniu aktualizacji, wywołaj funkcję RegisterApplicationRestart w każdym procesie, który chcesz ponownie uruchomić.

Każde aktywne okno w aplikacji odbiera komunikat WM_QUERYENDSESSION . W tym momencie aplikacja może ponownie wywołać funkcję RegisterApplicationRestart , aby zaktualizować wiersz polecenia w razie potrzeby.

Gdy każde aktywne okno w aplikacji odbiera komunikat WM_ENDSESSION , aplikacja powinna zapisywać dane i zamykać je.

Uwaga / Notatka

Aktywne okna otrzymają również komunikat WM_CLOSE , jeśli aplikacja nie obsługuje komunikatu WM_ENDSESSION .

W tym momencie aplikacja ma 30 sekund, aby zamknąć własne procesy lub platforma przerywa je siłowo.

Po zakończeniu aktualizacji aplikacja zostanie ponownie uruchomiona.

Praca z innymi aplikacjami

Integracja z innymi aplikacjami, uruchamianie innych procesów lub udostępnianie informacji.

Ustaw aplikację jako obiekt docelowy wydruku w aplikacjach obsługujących drukowanie

Gdy użytkownicy chcą drukować dane z innej aplikacji, takiej jak Notatnik, możesz sprawić, że aplikacja będzie wyświetlana jako element docelowy wydruku na liście dostępnych miejsc docelowych drukowania aplikacji.

Musisz zmodyfikować aplikację, aby odbierała dane wydruku w formacie SPECYFIKACJI PAPIERU XML (XPS).

Przestrzenie nazw XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.appPrinter">
    <AppPrinter
        DisplayName="[DisplayName]"
        Parameters="[Parameters]" />
</Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.appPrinter.
Nazwa wyświetlana Nazwa, którą chcesz wyświetlić na liście obiektów docelowych drukowania dla aplikacji.
Parametry Wszystkie parametry wymagane przez aplikację do prawidłowego obsługi żądania.

Przykład

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Applications>
  <Application>
    <Extensions>
      <desktop2:Extension Category="windows.appPrinter">
        <desktop2:AppPrinter
          DisplayName="Send to Contoso"
          Parameters="/insertdoc %1" />
      </desktop2:Extension>
    </Extensions>
  </Application>
</Applications>
</Package>

Znajdź przykład, który używa tego rozszerzenia tutaj

Udostępnianie czcionek innym aplikacjom systemu Windows

Udostępnianie czcionek niestandardowych innym aplikacjom systemu Windows.

Uwaga / Notatka

Przed przesłaniem aplikacji korzystającej z tego rozszerzenia do Sklepu należy najpierw uzyskać zatwierdzenie od zespołu sklepu. Aby uzyskać zatwierdzenie, przejdź do https://aka.ms/storesupportstrony , kliknij pozycję Skontaktuj się z nami i wybierz opcje odpowiednie do przesyłania aplikacji do pulpitu nawigacyjnego. Ten proces zatwierdzania pomaga upewnić się, że nie ma konfliktów między czcionkami zainstalowanymi przez aplikację i czcionkami zainstalowanymi w systemie operacyjnym. Jeśli nie uzyskasz zatwierdzenia, podczas przesyłania aplikacji zostanie wyświetlony błąd podobny do następującego: "Błąd weryfikacji akceptacji pakietu: Nie można użyć rozszerzenia windows.sharedFonts z tym kontem. Skontaktuj się z naszym zespołem pomocy technicznej, jeśli chcesz poprosić o uprawnienia do korzystania z tego rozszerzenia.

Przestrzenie nazw XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/4

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.sharedFonts">
    <SharedFonts>
      <Font File="[FontFile]" />
    </SharedFonts>
  </Extension>

Znajdź pełną dokumentację schematu tutaj.

Nazwa Opis
Kategoria Zawsze windows.sharedFonts.
Plik Plik zawierający czcionki, które chcesz udostępnić.

Przykład

<Package
  xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
  IgnorableNamespaces="uap4">
  <Applications>
    <Application>
      <Extensions>
        <uap4:Extension Category="windows.sharedFonts">
          <uap4:SharedFonts>
            <uap4:Font File="Fonts\JustRealize.ttf" />
            <uap4:Font File="Fonts\JustRealizeBold.ttf" />
          </uap4:SharedFonts>
        </uap4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Uruchamianie procesu Win32 z poziomu aplikacji platformy uniwersalnej systemu Windows (UWP)

Uruchom proces Win32 uruchamiany w pełnym zaufaniu.

Przestrzenie nazw XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elementy i atrybuty tego rozszerzenia

<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
  <FullTrustProcess>
    <ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
  </FullTrustProcess>
</Extension>
Nazwa Opis
Kategoria Zawsze windows.fullTrustProcess.
Identyfikator grupy Ciąg identyfikujący zestaw parametrów, które mają zostać przekazane do pliku wykonywalnego.
Parametry Parametry, które chcesz przekazać do pliku wykonywalnego.

Przykład

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         xmlns:rescap=
"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
         xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
  ...
  <Capabilities>
      <rescap:Capability Name="runFullTrust"/>
  </Capabilities>
  <Applications>
    <Application>
      <Extensions>
          <desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe">
              <desktop:FullTrustProcess>
                  <desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/>
                  <desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/>
              </desktop:FullTrustProcess>
           </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

To rozszerzenie może być przydatne, jeśli chcesz utworzyć interfejs użytkownika platformy uniwersalnej systemu Windows, który działa na wszystkich urządzeniach, ale chcesz, aby składniki aplikacji Win32 nadal działały w pełnym zaufaniu.

Wystarczy utworzyć pakiet aplikacji systemu Windows dla aplikacji Win32. Następnie dodaj to rozszerzenie do pliku pakietu aplikacji platformy UWP. To rozszerzenie wskazuje, że chcesz uruchomić plik wykonywalny w pakiecie aplikacji systemu Windows. Jeśli chcesz komunikować się między aplikacją platformy UWP a aplikacją Win32, możesz skonfigurować co najmniej jedną usługę aplikacji , aby to zrobić. Więcej informacji na temat tego scenariusza można znaleźć tutaj.

Dalsze kroki

Masz pytania? Zapytaj nas w witrynie Stack Overflow. Nasz zespół monitoruje te tagi . Możesz również zapytać nas tutaj .