다음을 통해 공유


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에서 도입되었습니다.)

설명

시스템은 앱을 실행할 때 이 개체를 싱글톤으로 만듭니다. ASTA(Application Single-Threaded Apartment)로 실행됩니다. 뷰 공급자(아래 샘플 참조)와 같이 앱 싱글톤에서 만든 스레드는 MTAThread(다중 스레드 아파트)로 특성이 지정되어야 합니다.

이 API는 항상 사용할 수 있는 Properties 속성을 제외하고 유니버설 Windows 플랫폼 앱에서만 지원됩니다.

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 instance 사용하는 실행 중인 모든 앱에 대한 기본 CoreApplicationView instance 가져옵니다.

Properties

프로세스가 실행되는 동안 앱 및 UI 프레임워크가 정보를 저장하는 데 사용할 수 있는 속성 집합을 가져옵니다.

Views

앱의 모든 보기를 가져옵니다.

메서드

CreateNewView()

앱에 대한 새 보기를 만듭니다.

CreateNewView(IFrameworkViewSource)

앱에 대한 새 보기를 만듭니다.

CreateNewView(String, String)

앱에 대한 새 보기를 만듭니다.

DecrementApplicationUseCount()

CoreApplication instance 사용하는 실행 중인 앱 인스턴스의 총 수를 감소합니다.

EnablePrelaunch(Boolean)

앱을 사전 실행하기 위해 운영 체제의 기능을 사용하거나 사용하지 않도록 설정합니다.

Exit()

앱을 종료합니다.

GetCurrentView()

현재 스레드에 해당하는 뷰를 가져옵니다.

IncrementApplicationUseCount()

CoreApplication instance 사용하는 실행 중인 앱 인스턴스의 총 수를 증분합니다.

RequestRestartAsync(String)

앱을 다시 시작합니다.

RequestRestartForUserAsync(User, String)

다른 사용자의 컨텍스트에서 앱을 다시 시작합니다.

Run(IFrameworkViewSource)

외부 뷰 공급자 팩터리를 실행하여 뷰 공급자를 가져옵니다.

RunWithActivationFactories(IGetActivationFactory)

활성화 가능한 형식 팩터리를 실행하여 외부 활성화 가능한 형식을 가져옵니다.

이벤트

BackgroundActivated

백그라운드 트리거에 의해 앱이 활성화될 때 발생합니다.

EnteredBackground

앱이 백그라운드 상태에서 실행 중이면 발생합니다.

Exiting

앱이 종료되면 발생합니다.

LeavingBackground

애플리케이션 UI가 표시되기 직전에 발생합니다.

Resuming

앱이 다시 시작될 때 발생합니다.

Suspending

앱이 일시 중단되면 발생합니다.

UnhandledErrorDetected

전역 오류 처리 논리의 일부로 CoreApplication instance 라우팅되는 기본 오류가 있을 때 발생합니다.

적용 대상

추가 정보