| title | App lifecycle, background tasks, and system services in Windows apps |
|---|---|
| description | This article provides an index of development features that are related to scenarios involving managing the lifecycle of Windows apps and system-level services. |
| ms.date | 02/13/2025 |
| ms.topic | concept-article |
| keywords | windows 11, winui, background task, app service, connected devices, remote systems, app lifecycle |
| ms.localizationpriority | medium |
This article provides an index of development features that are related to scenarios involving managing the lifecycle of Windows apps and using system-level services provided by the Windows OS.
The Windows App SDK provides the following features related to app lifecycle and system services for Windows 10 and later OS releases.
[!INCLUDE UWP migration guidance]
| Feature | Description |
|---|---|
| App lifecycle | Get an overview of managing the lifecycle of your app. |
| App instancing | Control whether multiple instances of your app's process can run at the same time. |
| Background tasks | Background tasks are app components that run in the background without a user interface. They can perform actions such as downloading files, syncing data, sending notifications, or updating tiles. |
| Rich activation | Receive information about different kinds activations for your app. |
| Power management | Get visibility into how your app affects the device's power state, and enable your app to make intelligent decisions about resource usage. |
| Restart | Programmatically restart your application and set restart options after app termination. |
Windows 10 and later OS releases provide a wide variety of APIs related to app lifecycle and system services for apps. These features are available via a combination of WinRT and Win32 (C++ and COM) APIs provided by the Windows SDK.
The following articles provide information about features available via WinRT APIs provided by the Windows SDK.
| Article | Description |
|---|---|
| Use app services and extensions | Learn how to integrate app services into your Windows app to allow the sharing of data and functionality across apps. |
| Support your app with background tasks | Learn how make lightweight code run in the background in response to triggers. |
| Launch an app through file activation | Learn how to set up your app to launch when a file of a certain type is opened. |
| Launch an app with a URI | Learn how to use a Uniform Resource Identifier (URI) to launch one app from another app, enabling helpful app-to-app scenarios. |
| Threading and async programming | Learn how to use the thread pool to accomplish work asynchronously in parallel threads. |
The following articles provide information about features available via Win32 (C++ and COM) APIs provided by the Windows SDK.
| Article | Description |
|---|---|
| System services | Learn about system services available to apps, including COM, Windows messaging, service applications, and much more. |
| Memory management | Learn how to use virtual memory, memory mapped files, copy-on-write memory, large memory support, and other memory related features in your app. |
| Processes and threads | Learn how to control processes, threads, jobs, and other units of code execution in your app. |
| Windows system information | Learn how to access system information including the registry, handles and objects, and more. |
The .NET SDK also provides APIs related to system services for WPF and Windows Forms apps.
| Article | Description |
|---|---|
| Threading model (WPF) | Learn about the threading model of WPF apps. |
| System information | Learn how to access system information in Windows Forms apps. |
| .NET Worker Services | A lightweight way to run long-running background workloads in .NET apps. No packaging required — works with any WPF, Windows Forms, or console app deployment model. |