StartupTask Kelas

Definisi

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
Object Platform::Object IInspectable StartupTask
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.

Berlaku untuk

Lihat juga