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 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 實例的基礎錯誤時,作為全域錯誤處理邏輯的一部分。 |