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 Apartment (ASTA) 的形式執行。 從應用程式單一建立的執行緒,例如下列範例 () 中所見的檢視提供者,應該以多執行緒 Apartment (MTAThread) 屬性。

只有通用 Windows 平臺應用程式才支援此 API,但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實例之所有執行中應用程式的主要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 實例的基礎錯誤時,作為全域錯誤處理邏輯的一部分。

適用於

另請參閱