CoreApplication 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使应用能够处理状态更改、管理窗口并与各种 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
- 继承
- 属性
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 实例的基础错误时发生。 |