StartupTask Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili aplikasi UWP atau tugas latar belakang aplikasi desktop yang berjalan pada startup sistem atau saat pengguna masuk ke perangkat mereka.
public ref class StartupTask sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.StartupTaskContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class StartupTask final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.StartupTaskContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class StartupTask
Public NotInheritable Class StartupTask
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows Desktop Extension SDK (diperkenalkan dalam 10.0.14393.0)
|
API contract |
Windows.ApplicationModel.StartupTaskContract (diperkenalkan dalam v1.0)
|
Keterangan
Fungsionalitas ini didukung pada versi desktop Windows di aplikasi UWP dan aplikasi desktop dalam paket aplikasi Windows. Untuk informasi selengkapnya tentang aplikasi desktop kemasan (juga dikenal sebagai Desktop Bridge Apps), lihat Mengemas aplikasi desktop. Dukungan untuk aplikasi desktop paket diperkenalkan dalam Windows 10 Anniversary Update (versi 1607), dan untuk aplikasi UWP di Windows 10 Fall Creators Update (versi 1709).
Aplikasi harus menambahkan windows.startup
kategori ekstensi ke manifes paket aplikasinya agar dapat diaktifkan saat startup atau saat pengguna masuk. Menambahkan ekstensi ini tidak akan, dengan sendirinya, secara otomatis menyebabkan aplikasi dimulai.
Aplikasi UWP harus memanggil RequestEnableAsync dari utas UI untuk memicu dialog persetujuan pengguna. Jika pengguna menyetujui, aplikasi UWP kemudian akan dimulai saat startup atau pengguna masuk. Perhatikan bahwa aplikasi startup UWP akan mulai diminimalkan.
Jika RequestEnableAsync dipanggil dari aplikasi desktop yang dipaketkan, tidak ada dialog persetujuan pengguna yang ditampilkan. Aplikasi desktop dapat mengatur tugas startup mereka ke Diaktifkan dalam manifes, dalam hal ini mereka tidak perlu memanggil RequestEnableAsync.
Dalam kedua kasus, untuk mengaktifkan fungsionalitas startup, pengguna harus meluncurkan aplikasi setidaknya sekali, atau mereka harus mengaktifkan fungsionalitas startup untuk aplikasi di halaman Startup di Pengaturan. Setelah diaktifkan, pengguna memegang kontrol dan dapat mengubah status aktif aplikasi Anda kapan saja melalui halaman Startup di Pengaturan atau tab Startup di Task Manager.
Deklarasi ekstensi berikut masuk dalam manifes paket aplikasi. Deklarasi yang Anda gunakan bergantung pada apakah tugas startup Anda akan menjadi aplikasi UWP atau tugas latar belakang aplikasi desktop.
Ekstensi tugas startup aplikasi desktop yang dipaketkan
<Package xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"...>
...
<Applications>
<Application ...>
...
<Extensions>
<uap5:Extension
Category="windows.startupTask"
Executable="MyDesktopApp.exe"
EntryPoint="Windows.FullTrustApplication">
<uap5:StartupTask
TaskId="MyStartupId"
Enabled="false"
DisplayName="My Desktop App" />
</uap5:Extension>
</Extensions>
</Application>
</Applications>
Atribut | Deskripsi |
---|---|
xmlns:uap5 | Menentukan namespace kontrak UAP umum versi 5. Catatan: untuk pembaruan Fall Creators (Windows versi 1703) gunakan namespace XML khusus Windows Desktop sebagai gantinya, xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10", dan ganti kemunculan uap5: dengan desktop: dalam contoh di atas. |
Kategori | Harus memiliki nilai "windows.startupTask" . |
Eksekusi | Jalur relatif ke .exe untuk memulai. |
EntryPoint | Harus memiliki nilai "Windows.FullTrustApplication" . |
TaskId | Pengidentifikasi unik untuk tugas Anda. Dengan menggunakan pengidentifikasi ini, aplikasi Anda dapat memanggil API di kelas ini untuk mengaktifkan atau menonaktifkan tugas startup secara terprogram. |
Aktif | Dapat diatur ke true untuk aplikasi desktop kemasan untuk menunjukkan bahwa aplikasi diaktifkan untuk startup tanpa harus terlebih dahulu memanggil RequestEnableAsync. |
DisplayName | Nama tugas yang muncul di Pengelola Tugas. |
Untuk aplikasi desktop kemasan, beberapa ekstensi startupTask diizinkan, dan masing-masing dapat menentukan executable yang berbeda.
Ekstensi tugas startup aplikasi UWP
<Package xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5" ...>
...
<Applications>
<Application ...>
...
<Extensions>
<uap5:Extension Category="windows.startupTask">
<uap5:StartupTask
TaskId="MyStartupId"
Enabled="false"
DisplayName="Test startup" />
</uap5:Extension>
</Extensions>
</Application>
</Applications>
Atribut | Deskripsi |
---|---|
xmlns:uap5 | Aplikasi UWP menggunakan namespace kontrak UAP umum versi 5. |
Kategori | Harus memiliki nilai "windows.startupTask" |
TaskId | Pengidentifikasi unik untuk tugas Anda. Dengan menggunakan pengidentifikasi ini, aplikasi Anda dapat memanggil API di kelas ini untuk mengaktifkan atau menonaktifkan tugas startup secara terprogram. |
Aktif | Untuk aplikasi UWP, atribut ini diabaikan dan fitur ini secara implisit dinonaktifkan hingga pengguna pertama kali meluncurkan aplikasi dan pengguna mengonfirmasi permintaan aplikasi untuk mengaktifkan aktivasi saat startup. |
DisplayName | Nama aplikasi UWP yang muncul di Task Manager. |
Eksekusi | Diabaikan. Jika disediakan, tidak boleh kosong atau null. Aplikasi yang dimiliki file Package.appxmanifest ini adalah file tersirat yang dapat dieksekusi. |
EntryPoint | Diabaikan. Jika disediakan, tidak boleh kosong atau null. Titik masuk tersirat. |
Aplikasi UWP seharusnya hanya memiliki satu entri Yang Dapat Dieksekusi dan ekstensi windows.startupTask .
Ekstensi windows.startupTask hanya tersedia untuk aplikasi UWP yang berjalan di Windows Desktop.
Ekstensi tugas startup Windows Web App (WWA)
<Package xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5" .m..>
...
<Applications>
<Application ...>
...
<Extensions>
<uap5:Extension Category="windows.startupTask" StartPage="EntryPage">
<uap5:StartupTask
TaskId="MyStartupId"
DisplayName="Test startup"/>
</uap5:Extension>
</Extensions>
</Application>
</Applications>
Atribut | Deskripsi |
---|---|
xmlns:uap5 | Aplikasi UWP menggunakan namespace kontrak UAP umum versi 5. |
StartPage | Nama halaman yang akan ditampilkan saat WWA dimulai. |
Kategori | Harus memiliki nilai "windows.startupTask" |
TaskId | Pengidentifikasi unik untuk tugas Anda. Dengan menggunakan pengidentifikasi ini, aplikasi Anda dapat memanggil API di kelas ini untuk mengaktifkan atau menonaktifkan tugas startup secara terprogram. |
DisplayName | Nama aplikasi UWP yang muncul di Task Manager. |
Untuk aplikasi WWA, Executable, EntryPoint, dan Enables diabaikan dan mungkin hilang atau null.
Contoh
Kode berikut membuat StartupTask:
StartupTask startupTask = await StartupTask.GetAsync("MyStartupId"); // Pass the task ID you specified in the appxmanifest file
switch (startupTask.State)
{
case StartupTaskState.Disabled:
// Task is disabled but can be enabled.
StartupTaskState newState = await startupTask.RequestEnableAsync(); // ensure that you are on a UI thread when you call RequestEnableAsync()
Debug.WriteLine("Request to enable startup, result = {0}", newState);
break;
case StartupTaskState.DisabledByUser:
// Task is disabled and user must enable it manually.
MessageDialog dialog = new MessageDialog(
"You have disabled this app's ability to run " +
"as soon as you sign in, but if you change your mind, " +
"you can enable this in the Startup tab in Task Manager.",
"TestStartup");
await dialog.ShowAsync();
break;
case StartupTaskState.DisabledByPolicy:
Debug.WriteLine("Startup disabled by group policy, or not supported on this device");
break;
case StartupTaskState.Enabled:
Debug.WriteLine("Startup is enabled.");
break;
}
Properti
State |
Mendapatkan status (diaktifkan, dinonaktifkan, atau dinonaktifkan oleh pengguna) dari tugas startup. |
TaskId |
Mendapatkan Id tugas startup. |
Metode
Disable() |
Menonaktifkan tugas startup. |
GetAsync(String) |
Mendapatkan tugas startup berdasarkan Id. |
GetForCurrentPackageAsync() |
Mendapatkan semua tugas startup untuk paket aplikasi saat ini. |
RequestEnableAsync() |
Meminta agar tugas startup diaktifkan. Jika tugas dinonaktifkan oleh pengguna menggunakan Task Manager, metode ini tidak akan mengambil alih pilihan mereka dan pengguna harus mengaktifkan kembali tugas secara manual. |