Mengintegrasikan aplikasi desktop Anda dengan Windows menggunakan ekstensi pengemasan
Jika aplikasi desktop Anda dikemas (memiliki identitas paket saat runtime), maka Anda dapat menggunakan ekstensi untuk mengintegrasikan aplikasi Anda dengan Windows dengan menggunakan ekstensi yang telah ditentukan sebelumnya dalam manifes paket. Lihat juga Fitur yang memerlukan identitas paket.
Misalnya, gunakan ekstensi untuk membuat pengecualian firewall; menjadikan aplikasi Anda sebagai aplikasi default untuk jenis file; atau arahkan Petak peta Mulai ke aplikasi Anda. Untuk menggunakan ekstensi, cukup tambahkan beberapa XML ke file manifes paket aplikasi Anda. Tidak ada kode yang diperlukan.
Topik ini menjelaskan ekstensi dan tugas yang dapat Anda lakukan dengan menggunakannya.
Catatan
Fitur yang dijelaskan dalam topik ini mengharuskan aplikasi Anda dipaketkan (memiliki identitas paket saat runtime). Itu termasuk aplikasi paket (lihat Membuat proyek baru untuk aplikasi desktop WinUI 3 paket) dan aplikasi paket dengan lokasi eksternal (lihat Memberikan identitas paket dengan pengemasan dengan lokasi eksternal). Lihat juga Fitur yang memerlukan identitas paket.
Transisi pengguna ke aplikasi Anda
Membantu pengguna beralih ke aplikasi paket Anda.
- Mengalihkan aplikasi desktop yang sudah ada ke aplikasi paket Anda
- Arahkan petak peta Mulai dan tombol taskbar yang ada ke aplikasi kemasan Anda
- Membuat aplikasi paket Anda membuka file alih-alih aplikasi desktop Anda
- Mengaitkan aplikasi paket Anda dengan sekumpulan jenis file
- Menambahkan opsi ke menu konteks file yang memiliki jenis file tertentu
- Buka jenis file tertentu secara langsung dengan menggunakan URL
Mengalihkan aplikasi desktop yang sudah ada ke aplikasi paket Anda
Saat pengguna memulai aplikasi desktop yang tidak dikemas yang ada, Anda dapat mengonfigurasi aplikasi paket untuk dibuka sebagai gantinya.
Catatan
Fitur ini didukung di Windows Insider Preview Build 21313 dan versi yang lebih baru.
Untuk mengaktifkan perilaku ini:
- Tambahkan entri registri untuk mengalihkan aplikasi desktop yang tidak dikemas yang dapat dieksekusi ke aplikasi paket Anda.
- Daftarkan aplikasi paket Anda untuk diluncurkan saat aplikasi desktop yang tidak dikemas dapat dieksekusi diluncurkan.
Menambahkan entri registri untuk mengalihkan aplikasi desktop yang tidak dikemas yang dapat dieksekusi
- Di registri, buat subkunci dengan nama file yang dapat dieksekusi aplikasi desktop Anda di bawah kunci HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options .
- Di bawah subkunjuk ini, tambahkan nilai berikut:
- AppExecutionAliasRedirect (DWORD): Jika diatur ke 1, sistem akan memeriksa ekstensi paket AppExecutionAlias dengan nama yang sama dengan yang dapat dieksekusi. Jika ekstensi AppExecutionAlias diaktifkan, aplikasi paket akan diaktifkan menggunakan nilai tersebut.
- AppExecutionAliasRedirectPackages (REG_SZ): Sistem hanya akan mengalihkan ke paket yang tercantum. Paket dicantumkan berdasarkan nama keluarga paket mereka, dipisahkan oleh titik koma. Jika nilai khusus * digunakan, sistem akan mengalihkan ke AppExecutionAlias dari paket apa pun.
Contohnya:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe
AppExecutionAliasRedirect = 1
AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe"
Daftarkan aplikasi paket Anda yang akan diluncurkan
Dalam manifes paket Anda, tambahkan ekstensi AppExecutionAlias yang mendaftarkan nama aplikasi desktop yang tidak dikemas yang dapat dieksekusi. Contohnya:
<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>
Menonaktifkan pengalihan
Pengguna dapat menonaktifkan pengalihan dan meluncurkan aplikasi unpackaged Anda yang dapat dieksekusi melalui opsi ini:
- Mereka dapat menghapus instalan versi aplikasi Anda yang dipaketkan.
- Pengguna dapat menonaktifkan entri AppExecutionAlias untuk aplikasi paket Anda di halaman Alias eksekusi aplikasi di Pengaturan.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemen dan atribut ekstensi ini
<uap3:Extension
Category="windows.appExecutionAlias"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.appExecutionAlias . |
Eksekusi | Jalur relatif ke executable untuk memulai saat alias dipanggil. |
Alias | Nama pendek untuk aplikasi Anda. Ini harus selalu diakhir dengan ekstensi ".exe". |
Arahkan petak peta Mulai dan tombol taskbar yang ada ke aplikasi kemasan Anda
Pengguna Anda mungkin telah menyematkan aplikasi desktop Anda ke taskbar atau menu Mulai. Anda dapat mengarahkan pintasan tersebut ke aplikasi paket baru Anda.
Namespace XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elemen dan atribut ekstensi ini
<Extension Category="windows.desktopAppMigration">
<DesktopAppMigration>
<DesktopApp AumId="[your_app_aumid]" />
<DesktopApp ShortcutPath="[path]" />
</DesktopAppMigration>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.desktopAppMigration . |
AumID | ID Model Pengguna Aplikasi dari aplikasi paket Anda. |
ShortcutPath | Jalur ke file .lnk yang memulai versi desktop aplikasi Anda. |
Contoh
<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>
Sampel terkait
Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi
Membuat aplikasi paket Anda membuka file alih-alih aplikasi desktop Anda
Anda dapat memastikan bahwa pengguna membuka aplikasi paket baru Anda secara default untuk jenis file tertentu alih-alih membuka versi desktop aplikasi Anda.
Untuk melakukannya, Anda akan menentukan pengidentifikasi terprogram (ProgID) dari setiap aplikasi tempat Anda ingin mewarisi asosiasi file.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<MigrationProgIds>
<MigrationProgId>"[ProgID]"</MigrationProgId>
</MigrationProgIds>
</FileTypeAssociation>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
MigrationProgId | Pengidentifikasi terprogram (ProgID) yang menjelaskan aplikasi, komponen, dan versi aplikasi desktop tempat Anda ingin mewarisi asosiasi file. |
Contoh
<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>
Sampel terkait
Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi
Mengaitkan aplikasi paket Anda dengan sekumpulan jenis file
Anda dapat mengaitkan aplikasi paket Anda dengan ekstensi jenis file. Jika pengguna mengklik kanan file di File Explorer lalu memilih opsi Buka dengan , aplikasi Anda muncul dalam daftar saran. Untuk informasi selengkapnya tentang menggunakan ekstensi ini, lihat Mengintegrasikan aplikasi desktop kemasan dengan File Explorer.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[file extension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
FileType | Ekstensi file yang didukung oleh aplikasi Anda. |
Contoh
<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>
Sampel terkait
Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi
Menambahkan opsi ke menu konteks file yang memiliki jenis file tertentu
Ekstensi ini memungkinkan Anda menambahkan opsi ke menu konteks yang ditampilkan saat pengguna mengklik kanan file di File Explorer.Opsi ini memberi pengguna cara lain untuk berinteraksi dengan file Anda seperti mencetak, mengedit, atau mempratinjau file. Untuk informasi selengkapnya tentang menggunakan ekstensi ini, lihat Mengintegrasikan aplikasi desktop kemasan dengan File Explorer.
Namespace 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
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedVerbs>
<Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
</SupportedVerbs>
</FileTypeAssociation>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
Kata kerja | Nama yang muncul di menu konteks File Explorer. String ini dapat dilokalisasi yang menggunakan ms-resource . |
Id | Id unik kata kerja. Jika aplikasi Anda adalah aplikasi UWP, ini diteruskan ke aplikasi Anda sebagai bagian dari arg peristiwa aktivasinya sehingga dapat menangani pilihan pengguna dengan tepat. Jika aplikasi Anda adalah aplikasi paket tepercaya penuh, aplikasi menerima parameter sebagai gantinya (lihat poin berikutnya). |
Parameter | Daftar parameter argumen dan nilai yang terkait dengan kata kerja. Jika aplikasi Anda adalah aplikasi paket kepercayaan penuh, parameter ini diteruskan ke aplikasi sebagai arg peristiwa saat aplikasi diaktifkan. Anda dapat menyesuaikan perilaku aplikasi Anda berdasarkan kata kerja aktivasi yang berbeda. Jika variabel dapat berisi jalur file, bungkus nilai parameter dalam tanda kutip. Itu akan menghindari masalah yang terjadi jika jalur menyertakan spasi. Jika aplikasi Anda adalah aplikasi UWP, Anda tidak dapat meneruskan parameter. Aplikasi menerima Id sebagai gantinya (lihat poin sebelumnya). |
Diluaskan | Menentukan bahwa kata kerja hanya muncul jika pengguna memperlihatkan menu konteks dengan menahan tombol Shift sebelum mengklik kanan file. Atribut ini bersifat opsional dan default ke nilai False (misalnya, selalu tampilkan kata kerja) jika tidak tercantum. Anda menentukan perilaku ini satu per satu untuk setiap kata kerja (kecuali untuk "Buka," yang selalu Salah). |
Contoh
<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 "%1"">Edit</uap3:Verb>
<uap3:Verb Id="Print" Extended="true" Parameters="/p "%1"">Print</uap3:Verb>
</uap2:SupportedVerbs>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Sampel terkait
Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi
Buka jenis file tertentu secara langsung dengan menggunakan URL
Anda dapat memastikan bahwa pengguna membuka aplikasi paket baru Anda secara default untuk jenis file tertentu alih-alih membuka versi desktop aplikasi Anda.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
UseUrl | Menunjukkan apakah akan membuka file langsung dari target URL. Jika Anda tidak mengatur nilai ini, upaya aplikasi Anda untuk membuka file dengan menggunakan URL menyebabkan sistem terlebih dahulu mengunduh file secara lokal. |
Parameter | Parameter opsional. |
FileType | Ekstensi file yang relevan. |
Contoh
<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>
Melakukan tugas penyetelan
Membuat pengecualian firewall untuk aplikasi Anda
Jika aplikasi Anda memerlukan komunikasi melalui port, Anda dapat menambahkan aplikasi Anda ke daftar pengecualian firewall.
Catatan
Untuk menggunakan kategori ekstensi "windows.firewallRules" (lihat di bawah), paket Anda memerlukan kemampuan terbatas Tingkat Izin Kepercayaan Penuh. Lihat Daftar kemampuan terbatas.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elemen dan atribut ekstensi ini
<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>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.firewallRules |
Eksekusi | Nama file yang dapat dieksekusi yang ingin Anda tambahkan ke daftar pengecualian firewall |
Arah | Menunjukkan apakah aturan tersebut adalah aturan masuk atau keluar |
IPProtocol | Protokol komunikasi |
LocalPortMin | Nomor port yang lebih rendah dalam rentang nomor port lokal. |
LocalPortMax | Nomor port tertinggi dari rentang nomor port lokal. |
RemotePortMax | Nomor port yang lebih rendah dalam rentang nomor port jarak jauh. |
RemotePortMax | Nomor port tertinggi dari rentang nomor port jarak jauh. |
Profil | Jenis jaringan |
Contoh
<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>
Tempatkan file DLL Anda ke folder paket apa pun
Gunakan ekstensi uap6:LoaderSearchPathOverride untuk mendeklarasikan hingga lima jalur folder dalam paket aplikasi, relatif terhadap jalur akar paket aplikasi, untuk digunakan di jalur pencarian pemuat untuk proses aplikasi.
Urutan pencarian DLL untuk aplikasi Windows menyertakan paket dalam grafik dependensi paket jika paket memiliki hak eksekusi. Secara default, ini termasuk paket utama, opsional, dan kerangka kerja, meskipun ini dapat ditimpa oleh elemen uap6:AllowExecution dalam manifes paket.
Paket yang disertakan dalam urutan pencarian DLL akan, secara default, menyertakan jalur efektifnya. Untuk informasi selengkapnya tentang jalur efektif, lihat properti EffectivePath (WinRT) dan enumerasi PackagePathType (Win32).
Jika paket menentukan uap6:LoaderSearchPathOverride, informasi ini digunakan alih-alih jalur efektif paket.
Setiap paket hanya dapat berisi satu ekstensi uap6:LoaderSearchPathOverride . Itu berarti Anda dapat menambahkan salah satunya ke paket utama Anda, lalu menambahkannya ke masing-masing paket opsional Anda , dan set terkait.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/6
Elemen dan atribut ekstensi ini
Deklarasikan ekstensi ini pada tingkat paket manifes aplikasi Anda.
<Extension Category="windows.loaderSearchPathOverride">
<LoaderSearchPathOverride>
<LoaderSearchPathEntry FolderPath="[path]"/>
</LoaderSearchPathOverride>
</Extension>
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.loaderSearchPathOverride . |
FolderPath | Jalur folder yang berisi file DLL Anda. Tentukan jalur yang relatif terhadap folder akar paket. Anda dapat menentukan hingga lima jalur dalam satu ekstensi. Jika Anda ingin sistem mencari file di folder akar paket, gunakan string kosong untuk salah satu jalur ini. Jangan sertakan jalur duplikat, dan pastikan jalur Anda tidak berisi garis miring atau garis miring terdepan dan berikutnya. Sistem tidak akan mencari subfolder, jadi pastikan untuk secara eksplisit mencantumkan setiap folder yang berisi file DLL yang Anda inginkan untuk dimuat sistem. |
Contoh
<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>
Integrasikan dengan File Explorer
Bantu pengguna menata file Anda dan berinteraksi dengan mereka dengan cara yang familier.
- Tentukan bagaimana aplikasi Anda beraksi saat pengguna memilih dan membuka beberapa file secara bersamaan
- Perlihatkan konten file dalam gambar mini dalam File Explorer
- Perlihatkan konten file di panel Pratinjau File Explorer
- Mengaktifkan pengguna untuk mengelompokkan file dengan menggunakan kolom Jenis di File Explorer
- Membuat properti file tersedia untuk pencarian, indeks, dialog properti, dan panel detail
- Tentukan penangan menu konteks untuk jenis file
- Membuat file dari layanan awan Anda muncul di File Explorer
Tentukan bagaimana aplikasi Anda beraksi saat pengguna memilih dan membuka beberapa file secara bersamaan
Tentukan bagaimana aplikasi Anda berperilaku saat pengguna membuka beberapa file secara bersamaan.
Namespace 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
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
<SupportedVerbs>
<Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
</SupportedVerbs>
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
MultiSelectModel | Lihat di bawah ini |
FileType | Ekstensi file yang relevan. |
MultiSelectModel
aplikasi desktop paket memiliki tiga opsi yang sama dengan aplikasi desktop reguler.
Player
: Aplikasi Anda diaktifkan satu kali. Semua file yang dipilih diteruskan ke aplikasi Anda sebagai parameter argumen.Single
: Aplikasi Anda diaktifkan satu kali untuk file pertama yang dipilih. File lain diabaikan.Document
: Instans baru yang terpisah dari aplikasi Anda diaktifkan untuk setiap file yang dipilih.
Anda dapat mengatur preferensi yang berbeda untuk berbagai jenis dan tindakan file. Misalnya, Anda mungkin ingin membuka Dokumen dalam mode Dokumen dan Gambar dalam mode Pemutar.
Contoh
<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>
Jika pengguna membuka 15 atau lebih sedikit file, pilihan default untuk atribut MultiSelectModel adalah Pemutar. Jika tidak, defaultnya adalah Dokumen. Aplikasi UWP selalu dimulai sebagai Pemutar.
Perlihatkan konten file dalam gambar mini dalam File Explorer
Aktifkan pengguna untuk melihat gambar mini konten file saat ikon file muncul dalam ukuran sedang, besar, atau ekstra besar.
Namespace 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
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<ThumbnailHandler
Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
FileType | Ekstensi file yang relevan. |
Clsid | ID kelas aplikasi Anda. |
Contoh
<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">
<uap2:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap2:SupportedFileTypes>
<desktop2:ThumbnailHandler
Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap::Extension>
</Extensions>
</Application>
</Applications>
</Package>
Perlihatkan konten file di panel Pratinjau File Explorer
Aktifkan pengguna untuk mempratinjau konten file di panel Pratinjau File Explorer.
Namespace 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
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<DesktopPreviewHandler Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
FileType | Ekstensi file yang relevan. |
Clsid | ID kelas aplikasi Anda. |
Contoh
<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">
<uap2SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap2SupportedFileTypes>
<desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Mengaktifkan pengguna untuk mengelompokkan file dengan menggunakan kolom Jenis di File Explorer
Anda dapat mengaitkan satu atau beberapa nilai yang telah ditentukan sebelumnya untuk jenis file Anda dengan bidang Jenis .
Di File Explorer, pengguna dapat mengelompokkan file tersebut dengan menggunakan bidang tersebut. Komponen sistem juga menggunakan bidang ini untuk berbagai tujuan seperti pengindeksan.
Untuk informasi selengkapnya tentang bidang Jenis dan nilai yang bisa Anda gunakan untuk bidang ini, lihat Menggunakan Nama Jenis.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elemen dan atribut ekstensi ini
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<KindMap>
<Kind value="[KindValue]">
</KindMap>
</FileTypeAssociation>
</Extension>
Temukan referensi skema lengkap di sini.
Contoh
<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>
Membuat properti file tersedia untuk pencarian, indeks, dialog properti, dan panel detail
Namespace 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
Elemen dan atribut ekstensi ini
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>.bar</FileType>
</SupportedFileTypes>
<DesktopPropertyHandler Clsid ="[Clsid]"/>
</uap:FileTypeAssociation>
</uap:Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fileTypeAssociation . |
Nama | Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi. |
FileType | Ekstensi file yang relevan. |
Clsid | ID kelas aplikasi Anda. |
Contoh
<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>
Tentukan penangan menu konteks untuk jenis file
Jika aplikasi desktop Anda menentukan penangan menu konteks, gunakan ekstensi ini untuk mendaftarkan penangan menu.
Namespace XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10
http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
Elemen dan atribut ekstensi ini
<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>
Temukan referensi skema lengkap di sini: com:ComServer dan desktop4:FileExplorerContextMenus.
Petunjuk
Untuk mendaftarkan penangan menu konteks Anda, ikuti instruksi berikut.
Di aplikasi desktop Anda, terapkan handler menu konteks dengan menerapkan antarmuka IExplorerCommand atau IExplorerCommandState. Untuk sampel, lihat sampel kode ExplorerCommandVerb . Pastikan Anda menentukan GUID kelas untuk setiap objek implementasi Anda. Misalnya, kode berikut menentukan ID kelas untuk implementasi IExplorerCommand.
class __declspec(uuid("d0c8bceb-28eb-49ae-bc68-454ae84d6264")) CExplorerCommandVerb;
Dalam manifes paket Anda, tentukan ekstensi aplikasi com:ComServer yang mendaftarkan server pengganti COM dengan ID kelas implementasi handler menu konteks Anda.
<com:Extension Category="windows.comServer"> <com:ComServer> <com:SurrogateServer AppId="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler"> <com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/> </com:SurrogateServer> </com:ComServer> </com:Extension>
Dalam manifes paket Anda, tentukan ekstensi aplikasi desktop4:FileExplorerContextMenus yang mendaftarkan implementasi handler menu konteks Anda.
<desktop4:Extension Category="windows.fileExplorerContextMenus"> <desktop4:FileExplorerContextMenus> <desktop4:ItemType Type=".rar"> <desktop4:Verb Id="Command1" Clsid="d0c8bceb-28eb-49ae-bc68-454ae84d6264" /> </desktop4:ItemType> </desktop4:FileExplorerContextMenus> </desktop4:Extension>
Contoh
<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="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler">
<com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" 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="d0c8bceb-28eb-49ae-bc68-454ae84d6264" />
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Membuat file dari layanan awan Anda muncul di File Explorer
Daftarkan handler yang Anda terapkan di aplikasi Anda. Anda juga dapat menambahkan opsi menu konteks yang muncul saat pengguna mengklik kanan file berbasis cloud di File Explorer.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemen dan atribut ekstensi ini
<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>
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.cloudfiles . |
iconResource | Ikon yang mewakili layanan penyedia file cloud Anda. Ikon ini muncul di panel Navigasi File Explorer. Pengguna memilih ikon ini untuk menampilkan file dari layanan awan Anda. |
CustomStateHandler Clsid | ID kelas aplikasi yang mengimplementasikan CustomStateHandler. Sistem menggunakan ID Kelas ini untuk meminta status dan kolom kustom untuk file cloud. |
ThumbnailProviderHandler Clsid | ID kelas aplikasi yang mengimplementasikan ThumbnailProviderHandler. Sistem menggunakan ID Kelas ini untuk meminta gambar mini untuk file cloud. |
ExtendedPropertyHandler Clsid | ID kelas aplikasi yang mengimplementasikan ExtendedPropertyHandler. Sistem menggunakan ID Kelas ini untuk meminta properti yang diperluas untuk file cloud. |
Kata kerja | Nama yang muncul di menu konteks File Explorer untuk file yang disediakan oleh layanan awan Anda. |
Id | ID unik kata kerja. |
Contoh
<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>
Memulai aplikasi Anda dengan cara yang berbeda
- Memulai aplikasi Anda dengan menggunakan protokol
- Mulai aplikasi Anda dengan menggunakan alias
- Memulai file yang dapat dieksekusi saat pengguna masuk ke Windows
- Mengaktifkan pengguna untuk memulai aplikasi Anda saat menyambungkan perangkat ke PC mereka
- Mulai ulang secara otomatis setelah menerima pembaruan dari Microsoft Store
Memulai aplikasi Anda dengan menggunakan protokol
Asosiasi protokol dapat memungkinkan program dan komponen sistem lain untuk beroperasi dengan aplikasi paket Anda. Saat aplikasi paket Anda dimulai dengan menggunakan protokol, Anda dapat menentukan parameter tertentu untuk diteruskan ke argumen peristiwa aktivasinya sehingga dapat berperilaku sesuai. Parameter hanya didukung untuk aplikasi yang dipaketkan dan dipercaya penuh. Aplikasi UWP tidak dapat menggunakan parameter.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemen dan atribut ekstensi ini
<Extension
Category="windows.protocol">
<Protocol
Name="[Protocol name]"
Parameters="[Parameters]" />
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.protocol . |
Nama | Nama protokol. |
Parameter | Daftar parameter dan nilai yang akan diteruskan ke aplikasi Anda sebagai argumen peristiwa saat aplikasi diaktifkan. Jika variabel dapat berisi jalur file, bungkus nilai parameter dalam tanda kutip. Itu akan menghindari masalah yang terjadi jika jalur menyertakan spasi. |
Contoh
<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 "%1"" />
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Mulai aplikasi Anda dengan menggunakan alias
Pengguna dan proses lain dapat menggunakan alias untuk memulai aplikasi Anda tanpa harus menentukan jalur lengkap ke aplikasi Anda. Anda dapat menentukan nama alias tersebut.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemen dan atribut ekstensi ini
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.appExecutionAlias . |
Eksekusi | Jalur relatif ke executable untuk memulai saat alias dipanggil. |
Alias | Nama pendek untuk aplikasi Anda. Ini harus selalu diakhir dengan ekstensi ".exe". Anda hanya dapat menentukan satu alias eksekusi aplikasi untuk setiap aplikasi dalam paket. Jika beberapa aplikasi mendaftar untuk alias yang sama, sistem akan memanggil yang terakhir yang terdaftar, jadi pastikan untuk memilih alias unik aplikasi lain tidak mungkin diambil alih. |
Contoh
<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>
Temukan referensi skema lengkap di sini.
Memulai file yang dapat dieksekusi saat pengguna masuk ke Windows
Tugas startup memungkinkan aplikasi Anda menjalankan executable secara otomatis setiap kali pengguna masuk.
Catatan
Pengguna harus memulai aplikasi Anda setidaknya satu kali untuk mendaftarkan tugas startup ini.
Aplikasi Anda dapat mendeklarasikan beberapa tugas startup. Setiap tugas dimulai secara independen. Semua tugas startup akan muncul di Task Manager di bawah tab Startup dengan nama yang Anda tentukan di manifes aplikasi dan ikon aplikasi Anda. Task Manager akan secara otomatis menganalisis dampak startup tugas Anda.
Pengguna dapat menonaktifkan tugas startup aplikasi Anda secara manual dengan menggunakan Task Manager. Jika pengguna menonaktifkan tugas, Anda tidak dapat mengaktifkannya kembali secara terprogram.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemen dan atribut ekstensi ini
<Extension
Category="windows.startupTask"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<StartupTask
TaskId="[TaskID]"
Enabled="true"
DisplayName="[DisplayName]" />
</Extension>
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.startupTask . |
Eksekusi | Jalur relatif ke file yang dapat dieksekusi untuk memulai. |
TaskId | Pengidentifikasi unik untuk tugas Anda. Dengan menggunakan pengidentifikasi ini, aplikasi Anda dapat memanggil API di kelas Windows.ApplicationModel.StartupTask untuk mengaktifkan atau menonaktifkan tugas startup secara terprogram. |
Aktif | Menunjukkan apakah tugas pertama kali mulai diaktifkan atau dinonaktifkan. Tugas yang diaktifkan akan berjalan saat berikutnya pengguna masuk (kecuali pengguna menonaktifkannya). |
DisplayName | Nama tugas yang muncul di Pengelola Tugas. Anda dapat melokalisasi string ini dengan menggunakan ms-resource . |
Contoh
<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>
Mengaktifkan pengguna untuk memulai aplikasi Anda saat menyambungkan perangkat ke PC mereka
AutoPlay dapat menyajikan aplikasi Anda sebagai opsi saat pengguna menyambungkan perangkat ke PC mereka.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/3
Elemen dan atribut ekstensi ini
<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>
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.autoPlayHandler . |
ActionDisplayName | String yang mewakili tindakan yang dapat diambil pengguna dengan perangkat yang mereka sambungkan ke PC (Misalnya: "Impor file", atau "Putar video"). |
ProviderDisplayName | String yang mewakili aplikasi atau layanan Anda (Misalnya: "Pemutar video Contoso"). |
ContentEvent | Nama peristiwa konten yang menyebabkan pengguna diminta dengan Anda ActionDisplayName dan ProviderDisplayName . Peristiwa konten dinaikkan ketika perangkat volume seperti kartu memori kamera, drive jempol, atau DVD dimasukkan ke pc. Anda dapat menemukan daftar lengkap peristiwa tersebut di sini. |
Kata kerja | Pengaturan Kata Kerja mengidentifikasi nilai yang diteruskan ke aplikasi Anda untuk opsi yang dipilih. Anda dapat menentukan beberapa tindakan peluncuran untuk peristiwa AutoPlay dan menggunakan pengaturan Kata Kerja untuk menentukan opsi mana yang telah dipilih pengguna untuk aplikasi Anda. Anda dapat mengetahui opsi mana yang dipilih pengguna dengan memeriksa properti kata kerja argumen peristiwa startup yang diteruskan ke aplikasi Anda. Anda dapat menggunakan nilai apa pun untuk pengaturan Kata Kerja kecuali, terbuka, yang dicadangkan. |
DropTargetHandler | ID kelas aplikasi yang mengimplementasikan antarmuka IDropTarget . File dari media yang dapat dilepas diteruskan ke metode Drop implementasi IDropTarget Anda. |
Parameter | Anda tidak perlu menerapkan antarmuka IDropTarget untuk semua peristiwa konten. Untuk salah satu peristiwa konten, Anda dapat menyediakan parameter baris perintah alih-alih mengimplementasikan antarmuka IDropTarget . Untuk peristiwa tersebut, AutoPlay akan memulai aplikasi Anda dengan menggunakan parameter baris perintah tersebut. Anda dapat mengurai parameter tersebut dalam kode inisialisasi aplikasi untuk menentukan apakah parameter tersebut dimulai oleh AutoPlay lalu memberikan implementasi kustom Anda. |
DeviceEvent | Nama peristiwa perangkat yang menyebabkan pengguna diminta dengan Anda ActionDisplayName dan ProviderDisplayName . Peristiwa perangkat dinaikkan saat perangkat tersambung ke PC. Peristiwa perangkat dimulai dengan string WPD dan Anda dapat menemukannya tercantum di sini. |
HWEventHandler | ID Kelas aplikasi yang mengimplementasikan antarmuka IHWEventHandler . |
InitCmdLine | Parameter string yang ingin Anda teruskan ke metode Inisialisasi antarmuka IHWEventHandler . |
Contoh
<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>
Mulai ulang secara otomatis setelah menerima pembaruan dari Microsoft Store
Jika aplikasi Anda terbuka saat pengguna menginstal pembaruan untuk itu, aplikasi akan ditutup.
Jika Anda ingin aplikasi tersebut dimulai ulang setelah pembaruan selesai, panggil fungsi RegisterApplicationRestart di setiap proses yang ingin Anda mulai ulang.
Setiap jendela aktif di aplikasi Anda menerima pesan WM_QUERYENDSESSION . Pada titik ini, aplikasi Anda dapat memanggil fungsi RegisterApplicationRestart lagi untuk memperbarui baris perintah jika perlu.
Ketika setiap jendela aktif di aplikasi Anda menerima pesan WM_ENDSESSION , aplikasi Anda harus menyimpan data dan mematikan.
Catatan
Jendela aktif Anda juga menerima pesan WM_CLOSE jika aplikasi tidak menangani pesan WM_ENDSESSION .
Pada titik ini, aplikasi Anda memiliki 30 detik untuk menutup prosesnya sendiri atau platform mengakhirinya dengan paksa.
Setelah pembaruan selesai, aplikasi Anda dimulai ulang.
Bekerja dengan aplikasi lain
Integrasikan dengan aplikasi lain, mulai proses lain atau bagikan informasi.
- Buat aplikasi Anda muncul sebagai target cetak dalam aplikasi yang mendukung pencetakan
- Berbagi font dengan aplikasi Windows lainnya
- Memulai proses Win32 dari aplikasi Platform Windows Universal (UWP)
Buat aplikasi Anda muncul sebagai target cetak dalam aplikasi yang mendukung pencetakan
Saat pengguna ingin mencetak data dari aplikasi lain seperti Notepad, Anda dapat membuat aplikasi Anda muncul sebagai target cetak dalam daftar target cetak yang tersedia di aplikasi.
Anda harus memodifikasi aplikasi sehingga menerima data cetak dalam format Spesifikasi Kertas XML (XPS).
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elemen dan atribut ekstensi ini
<Extension Category="windows.appPrinter">
<AppPrinter
DisplayName="[DisplayName]"
Parameters="[Parameters]" />
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.appPrinter . |
DisplayName | Nama yang ingin Anda munculkan dalam daftar target cetak untuk aplikasi. |
Parameter | Parameter apa pun yang diperlukan aplikasi Anda untuk menangani permintaan dengan benar. |
Contoh
<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>
Temukan sampel yang menggunakan ekstensi ini Di Sini
Berbagi font dengan aplikasi Windows lainnya
Bagikan font kustom Anda dengan aplikasi Windows lainnya.
Catatan
Sebelum dapat mengirimkan aplikasi yang menggunakan ekstensi ini ke Store, Anda harus terlebih dahulu mendapatkan persetujuan dari tim Store. Untuk mendapatkan persetujuan, buka https://aka.ms/storesupport, klik Hubungi kami, dan pilih opsi yang relevan untuk mengirimkan aplikasi ke dasbor. Proses persetujuan ini membantu memastikan bahwa tidak ada konflik antara font yang diinstal oleh aplikasi Anda dan font yang diinstal dengan OS. Jika Anda tidak mendapatkan persetujuan, Anda akan menerima kesalahan yang mirip dengan yang berikut ini saat mengirimkan aplikasi Anda: "Kesalahan validasi penerimaan paket: Anda tidak dapat menggunakan ekstensi windows.sharedFonts dengan akun ini. Hubungi tim dukungan kami jika Anda ingin meminta izin untuk menggunakan ekstensi ini."
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/4
Elemen dan atribut ekstensi ini
<Extension Category="windows.sharedFonts">
<SharedFonts>
<Font File="[FontFile]" />
</SharedFonts>
</Extension>
Temukan referensi skema lengkap di sini.
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.sharedFonts . |
File | File yang berisi font yang ingin Anda bagikan. |
Contoh
<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>
Memulai proses Win32 dari aplikasi Platform Windows Universal (UWP)
Mulai proses Win32 yang berjalan dengan penuh kepercayaan.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemen dan atribut ekstensi ini
<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
<FullTrustProcess>
<ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
</FullTrustProcess>
</Extension>
Nama | Deskripsi |
---|---|
Kategori | Selalu windows.fullTrustProcess . |
GroupId | String yang mengidentifikasi sekumpulan parameter yang ingin Anda teruskan ke executable. |
Parameter | Parameter yang ingin Anda teruskan ke executable. |
Contoh
<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>
Ekstensi ini mungkin berguna jika Anda ingin membuat antarmuka pengguna Platform Windows Universal yang berjalan di semua perangkat, tetapi Anda ingin komponen aplikasi Win32 Anda terus berjalan dengan kepercayaan penuh.
Cukup buat paket aplikasi Windows untuk aplikasi Win32 Anda. Kemudian, tambahkan ekstensi ini ke file paket aplikasi UWP Anda. Ekstensi ini menunjukkan bahwa Anda ingin memulai file yang dapat dieksekusi dalam paket aplikasi Windows. Jika ingin berkomunikasi antara aplikasi UWP dan aplikasi Win32, Anda dapat menyiapkan satu atau beberapa layanan aplikasi untuk melakukannya. Anda dapat membaca lebih lanjut tentang skenario ini di sini.
Langkah berikutnya
Ada pertanyaan? Tanyakan kami di Stack Overflow. Tim kami memantau tag ini. Anda juga dapat meminta kami di sini.
Windows developer
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk