CoreApplication Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Enables apps to handle state changes, manage windows, and integrate with a variety of UI frameworks.
public ref class CoreApplication abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class CoreApplication final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public static class CoreApplication
Public Class CoreApplication
- Inheritance
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v1.0)
|
Remarks
The system creates this object as a singleton when it runs the app. It is run as an Application Single-Threaded Apartment (ASTA). Threads created from the app singleton, such as the view provider (seen in the sample below), should be attributed as Multi-Threaded Apartment (MTAThread).
This API is supported in Universal Windows Platform apps only, except for the Properties property, which is always available.
struct App : implements<App, IFrameworkViewSource, IFrameworkView>
{
public:
IFrameworkView CreateView()
{
return *this;
}
};
...
int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int)
{
Windows::ApplicationModel::Core::CoreApplication::Run(App());
}
ref class MyFrameworkViewSource : IFrameworkViewSource
{
public:
virtual IFrameworkView^ CreateView()
{
return ref new MyFrameworkView();
}
};
// ...
[Platform::MTAThread]
int main(Platform::Array<Platform::String^>^)
{
auto frameworkViewSource = ref new MyFrameworkViewSource();
Windows::ApplicationModel::Core::CoreApplication::Run(frameworkViewSource);
return 0;
}
internal class ApplicationSource : IFrameworkViewSource
{
public virtual IFrameworkView CreateView()
{
return new CoreApp();
}
}
...
[MTAThread]
public static int Main()
{
var appSource = new ApplicationSource();
CoreApplication.Run(appSource);
return 0;
}
Version history
Windows version | SDK version | Value added |
---|---|---|
1607 | 14393 | BackgroundActivated |
1607 | 14393 | EnablePrelaunch |
1607 | 14393 | EnteredBackground |
1607 | 14393 | LeavingBackground |
1709 | 16299 | RequestRestartAsync |
1709 | 16299 | RequestRestartForUserAsync |
Properties
Id |
Gets the package-relative app identifier for the process. |
MainView |
Gets the main CoreApplicationView instance for all running apps that use this CoreApplication instance. |
Properties |
Gets a property set that the app and UI frameworks can use to store info while the process is running. |
Views |
Gets all views for the app. |
Methods
CreateNewView() |
Creates a new view for the app. |
CreateNewView(IFrameworkViewSource) |
Creates a new view for the app. |
CreateNewView(String, String) |
Creates a new view for the app. |
DecrementApplicationUseCount() |
Decrements the total count of running app instances that use this CoreApplication instance. |
EnablePrelaunch(Boolean) |
Enable or disable the operating system's ability to prelaunch your app. |
Exit() |
Shuts down the app. |
GetCurrentView() |
Gets the view corresponding to the current thread. |
IncrementApplicationUseCount() |
Increments the total count of running app instances that use this CoreApplication instance. |
RequestRestartAsync(String) |
Restart the app. |
RequestRestartForUserAsync(User, String) |
Restart the app in the context of a different user. |
Run(IFrameworkViewSource) |
Runs an external view provider factory to obtain a view provider. |
RunWithActivationFactories(IGetActivationFactory) |
Runs an activatable type factory to obtain an external activatable type. |
Events
BackgroundActivated |
Fired when your app is activated by a background trigger. |
EnteredBackground |
Fired when the app enters the running in the background state. |
Exiting |
Occurs when the app is shutting down. |
LeavingBackground |
Fired just before application UI becomes visible. |
Resuming |
Occurs when an app is resuming. |
Suspending |
Occurs when the app is suspending. |
UnhandledErrorDetected |
Occurs when there is an underlying error that is routed to the CoreApplication instance, as part of global error handling logic. |