Fájlaktiválás kezelése Windows-alkalmazásban

Az alkalmazás regisztrálhat, hogy egy adott fájltípus alapértelmezett kezelője legyen. Az asztali Windows-alkalmazások és a WinUI-alkalmazások is regisztrálhatnak alapértelmezett fájlkezelőként. Ha a felhasználó egy adott fájltípus alapértelmezett kezelőjeként választja ki az alkalmazást, az alkalmazás aktiválódik az adott fájltípus indításakor.

Azt javasoljuk, hogy csak akkor regisztráljon fájltípusra, ha az adott fájltípushoz tartozó összes fájlindítást kezelni szeretné. Ha az alkalmazásnak csak belsőleg kell használnia a fájltípust, akkor nem kell regisztrálnia, hogy az alapértelmezett kezelő legyen. Ha úgy dönt, hogy regisztrál egy fájltípusra, meg kell adnia a végfelhasználónak azokat a funkciókat, amelyek az alkalmazásnak az adott fájltípushoz való aktiválásakor várhatók. Előfordulhat például, hogy egy képmegjelenítő alkalmazás regisztrál egy .jpg fájl megjelenítéséhez. További információ a fájltársításokról: Fájltípusokra és URI-kra vonatkozó irányelvek.

Ezek a lépések bemutatják, hogyan regisztrálhat egyéni fájltípusra , .alsdk fájlra, és hogyan aktiválhatja az alkalmazást, amikor a felhasználó elindít egy .alsdk fájlt.

Jegyzet

Windows rendszerben bizonyos URI-k és fájlkiterjesztések a beépített alkalmazások és az operációs rendszer számára vannak fenntartva. Az alkalmazás fenntartott URI-val vagy fájlkiterjesztéssel való regisztrálására tett kísérletek figyelmen kívül lesznek hagyva. Tekintse meg fenntartott URI-sémák nevét és fájltípusait azoknak az URI-sémáknak a betűrendes listájához, amelyeket nem tud regisztrálni az alkalmazásokhoz, mert azok fenntartottak vagy tiltottak.

Fontos API-k

Ebben a témakörben a következő API-kat használjuk:

1. lépés: Adja meg a bővítménypontot a csomagjegyzékben

Az alkalmazás csak a csomagjegyzékben felsorolt fájlkiterjesztések aktiválási eseményeit fogadja. Így jelezheti, hogy az alkalmazás a .alsdk kiterjesztéssel kezeli a fájlokat.

  1. A Megoldáskezelőbenkattintson duplán a package.appxmanifest fájlra, hogy megnyissa a jegyzéktervezőt. Válassza a Deklarációk lapot, majd az Elérhető deklarációk legördülő listában válassza Fájltípus-társítások lehetőséget, majd kattintson hozzáadása gombra. További információt a fájltársítások által használt azonosítókról a programozási azonosítók címszónál találhat.

    Az alábbiakban röviden bemutatjuk a jegyzéktervezőben kitölthető mezőket:

Mező Leírás
megjelenítendő név Adja meg a fájltípusok egy csoportjának megjelenítendő nevét. A megjelenítési név a fájltípus azonosítására szolgál a Alapértelmezett programok beállítása elemeiben a Vezérlőpult-ban.
embléma Adja meg a logót, amely a fájltípus azonosítójához van használva az asztalon és az Alapértelmezett programok beállítása a Vezérlőpultban. Ha nincs megadva embléma, a rendszer az alkalmazás kis emblémáját használja.
információs javaslat Adja meg a adattipp egy fájltípuscsoporthoz. Ez az eszköztipp szövege akkor jelenik meg, amikor a felhasználó egy ilyen típusú fájl ikonra mutat.
név Válasszon nevet azoknak a fájltípusoknak a csoportjának, amelyek azonos megjelenítendő nevet, emblémát, információs tippet és szerkesztési jelzőket használnak. Válasszon egy csoportnevet, amely az alkalmazásfrissítések között változatlan marad. Megjegyzés A névnek kisbetűkben kell lennie.
tartalomtípus Adja meg a MIME-tartalomtípust(például kép/jpeg) egy adott fájltípushoz. Fontos megjegyzés az engedélyezett tartalomtípusokról: Itt található azoknak a MIME-tartalomtípusoknak a betűrendes listája, amelyeket nem lehet bevinni a csomagjegyzékbe, mert azok fenntartottak vagy tiltottak: alkalmazás/force-download, alkalmazás/oktet-stream, alkalmazás/ismeretlen, alkalmazás/x-msdownload.
fájltípus Adja meg a regisztrálandó fájltípust, amelyet egy időszak előz meg, például ".jpeg". Fenntartott és tiltott fájltípusok: A WinUI-alkalmazásokhoz nem regisztrálható beépített alkalmazások fájltípusainak betűrendes listájához tekintse meg a Fenntartott URI-sémák nevét és fájltípusait , mert azok fenntartottak vagy tiltottak.
  1. Adja meg alsdknév.
  2. Adja meg .alsdkfájltípust.
  3. Adja meg a "képek\Icon.png" szöveget emblémaként.
  4. A módosítás a package.appxmanifest fájlba való mentéséhez nyomja le a Ctrl+S billentyűkombinációt.

Az alábbi lépések egy, ehhez hasonló kiterjesztés elemet adnak hozzá a csomagjegyzékhez. A windows.fileTypeAssociation kategória azt jelzi, hogy az alkalmazás a .alsdk kiterjesztésű fájlokat kezeli.

      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap:FileTypeAssociation Name="alsdk">
            <uap:Logo>images\icon.png</uap:Logo>
            <uap:SupportedFileTypes>
              <uap:FileType>.alsdk</uap:FileType>
            </uap:SupportedFileTypes>
          </uap:FileTypeAssociation>
        </uap:Extension>
      </Extensions>

2. lépés: A megfelelő ikonok hozzáadása

Az alapértelmezett fájltípusú alkalmazások ikonjai a rendszer különböző pontjain jelennek meg. Ezek az ikonok például a következőkben láthatók:

  • Windows Explorer Elemnézet, helyi menük és a menüszalag
  • Alapértelmezett programok vezérlőpultja
  • Fájlválasztó
  • Keresési eredmények a kezdőképernyőn

Tartalmazzon a projektjével egy 44x44-es ikont, hogy a logója megjelenhessen ezeken a helyeken. Egyezzen az alkalmazáscsempe emblémájának megjelenésével, és használja az alkalmazás háttérszínét az ikon áttetszővé tétele helyett. Az embléma a szegélyig terjedjen ki, és ne legyen rá párnázás. Tesztelje az ikonokat fehér háttéren. Ikonokkal kapcsolatos további részletekért lásd a Csempe és ikoneszközök irányelvei dokumentumot.

3. lépés: Az aktivált esemény kezelése

Az OnFileActivated eseménykezelő minden fájlaktiválási eseményt fogad.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
       // TODO: Handle file activation
       // The number of files received is args.Files.Count
       // The name of the first file is args.Files[0].Name
}
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs const& args)
{
    // TODO: Handle file activation.
    auto numberOfFilesReceived{ args.Files().Size() };
    auto nameOfTheFirstFile{ args.Files().GetAt(0).Name() };
}
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ args)
{
    // TODO: Handle file activation
    // The number of files received is args->Files->Size
    // The name of the first file is args->Files->GetAt(0)->Name
}

Jegyzet

A Fájlszerződésen keresztül történő indításkor győződjön meg arról, hogy a Vissza gomb visszaviszi a felhasználót az alkalmazást elindító képernyőre, nem pedig az alkalmazás korábbi tartalmára.

Jegyzet

WinUI-alkalmazásokban az App.OnLaunched alkalmazásban (vagy valójában bármikor) meghívhatja (AppInstance.GetActivatedEventArgs) az aktivált esemény argek lekéréséhez, és ellenőrizheti őket, hogy az alkalmazás hogyan lett aktiválva. További információért az UWP és a WinUI alkalmazások közötti életciklus-különbségekről lásd az alkalmazás életciklus-funkciójának migrálását.

Javasoljuk, hogy hozzon létre egy új XAML-Frame minden olyan aktiválási eseményhez, amely új lapot nyit meg. Így az új XAML-keret navigációs háttérrendszere nem tartalmaz olyan korábbi tartalmat, amelyet az alkalmazás a felfüggesztéskor az aktuális ablakban tartalmazhatna. Ha úgy dönt, hogy egyetlen XAML-Keret használ az indításhoz és a fájlszerződésekhez, akkor az új lapra való navigálás előtt törölje a Keretnavigációs naplójának lapjait.

Amikor az alkalmazás fájlaktiválással indul el, érdemes megfontolnia a felhasználói felület hozzáadását, amely lehetővé teszi, hogy a felhasználó visszatérjen az alkalmazás felső oldalára.

Megjegyzések

A kapott fájlok nem megbízható forrásból származhatnak. Javasoljuk, hogy a művelet végrehajtása előtt ellenőrizze a fájl tartalmát.