CoreApplication 类

定义

使应用能够处理状态更改、管理窗口并与各种 UI 框架集成。

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
继承
Object Platform::Object IInspectable CoreApplication
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

系统在运行应用时将此对象创建为单一实例。 它作为应用程序 Single-Threaded 单元 (ASTA) 运行。 从应用单一实例创建的线程(如在下面的示例) 中看到的视图提供程序 ()应归为多线程单元 (MTAThread) 。

此 API 仅在 通用 Windows 平台 应用中受支持,Properties 属性除外,该属性始终可用。

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;
}

版本历史记录

Windows 版本 SDK 版本 增值
1607 14393 BackgroundActivated
1607 14393 EnablePrelaunch
1607 14393 EnteredBackground
1607 14393 LeavingBackground
1709 16299 RequestRestartAsync
1709 16299 RequestRestartForUserAsync

属性

Id

获取进程的包相对应用标识符。

MainView

获取使用此 CoreApplication 实例的所有正在运行的应用main CoreApplicationView 实例。

Properties

获取一个属性集,应用和 UI 框架可用于在进程运行时存储信息。

Views

获取应用的所有视图。

方法

CreateNewView()

为应用创建新视图。

CreateNewView(IFrameworkViewSource)

为应用创建新视图。

CreateNewView(String, String)

为应用创建新视图。

DecrementApplicationUseCount()

递减使用此 CoreApplication 实例的正在运行的应用实例的总计数。

EnablePrelaunch(Boolean)

启用或禁用操作系统预启动应用的功能。

Exit()

关闭应用。

GetCurrentView()

获取与当前线程对应的视图。

IncrementApplicationUseCount()

递增使用此 CoreApplication 实例的正在运行的应用实例的总计数。

RequestRestartAsync(String)

重新启动应用。

RequestRestartForUserAsync(User, String)

在其他用户的上下文中重启应用。

Run(IFrameworkViewSource)

运行外部视图提供程序工厂以获取视图提供程序。

RunWithActivationFactories(IGetActivationFactory)

运行可激活类型工厂以获取外部可激活类型。

事件

BackgroundActivated

当应用被后台触发器激活时触发。

EnteredBackground

当应用进入后台状态运行的 时触发。

Exiting

在关闭应用时发生。

LeavingBackground

在应用程序 UI 变为可见之前触发。

Resuming

在应用恢复时发生。

Suspending

在应用挂起时发生。

UnhandledErrorDetected

当作为全局错误处理逻辑的一部分路由到 CoreApplication 实例的基础错误时发生。

适用于

另请参阅