데스크톱 앱에서 알림 메시지 활성화

패키지 및 패키지되지 않은 Win32 앱은 UWP 앱이 할 수 있는 것처럼 대화형 알림 메시지를 보낼 수 있습니다. 여기에는 패키지된 앱(패키지된 WinUI 3 데스크톱 앱에 대한 새 프로젝트 만들기 참조), 외부 위치로 패키지된 앱(외부 위치로 패키징하여 패키지 ID 부여 참조), 패키지되지 않은 앱(패키지되지 않은 WinUI 3 데스크톱 앱에 대한 새 프로젝트 만들기 참조).

그러나 패키지되지 않은 Win32 앱의 경우 몇 가지 특별한 단계가 있습니다. 이는 다양한 활성화 체계와 런타임에 패키지 ID가 없기 때문입니다.

이 항목에서는 Windows 10에서 알림 메시지를 보내는 데 사용할 수 있는 옵션을 나열합니다. 모든 옵션을 완벽하게 지원...

  • 알림 센터에서 유지
  • 팝업 및 알림 센터 내 모두에서 활성화할 수 있음
  • EXE가 실행되지 않는 동안 활성화할 수 있음

모든 옵션

아래 표에서는 데스크톱 응용 프로그램 내에서 알림을 지원하는 옵션과 해당 옵션에 지원되는 기능을 보여줍니다. 표를 사용하여 자신의 시나리오에서 가장 좋은 옵션을 선택할 수 있습니다.

옵션 화면 표시 actions 입력 프로세스 내 활성화
COM 활성자 ✔️ ✔️ ✔️ ✔️
COM 없음/스텁 CLSID ✔️ ✔️

기본 옵션 - COM 활성자

이 옵션은 데스크톱 응용 프로그램에서 작동하고 모든 알림 기능을 지원하는 기본 설정된 옵션입니다. "COM 활성자"를 어려워할 필요가 없습니다. COM 서버를 작성해 본 적이 없더라도 이를 매우 단순하게 만드는 C#C++ 앱용 라이브러리가 있습니다.

화면 표시 actions 입력 프로세스 내 활성화
✔️ ✔️ ✔️ ✔️

COM 활성자 옵션을 사용하면 앱에서 다음 알림 템플릿 및 활성화 유형을 사용할 수 있습니다.

템플릿 및 활성화 유형 패키지됨 패키지되지 않음
ToastGeneric 전경 ✔️ ✔️
ToastGeneric 백그라운드 ✔️ ✔️
ToastGeneric 프로토콜 ✔️ ✔️
레거시 템플릿 ✔️

참고 항목

기존 패키지된 앱에 COM 활성자를 추가하면 포그라운드/백그라운드 및 레거시 알림 활성화가 명령줄 대신 COM 활성자를 활성화합니다.

이 옵션을 사용하는 방법을 알아보려면 데스크톱 C# 앱에서 로컬 알림 메시지 보내기 또는 Win32 C++ WRL 앱에서 로컬 알림 메시지 보내기를 참조하세요.

다른 옵션 - COM 없음/스텁 CLSID

COM 활성자를 구현할 수 없는 경우 대체 옵션입니다. 그러나 입력 지원(알림의 텍스트 상자) 및 in-process 활성화와 같은 몇 가지 기능을 희생하게 됩니다.

화면 표시 actions 입력 프로세스 내 활성화
✔️ ✔️

이 옵션을 사용하면 데스크톱을 지원하는 경우 아래와 같이 사용할 수 있는 알림 템플릿과 활성화 유형이 훨씬 더 제한됩니다.

템플릿 및 활성화 유형 패키지됨 패키지되지 않음
ToastGeneric 전경 ✔️
ToastGeneric 백그라운드 ✔️
ToastGeneric 프로토콜 ✔️ ✔️
레거시 템플릿 ✔️

패키지된 앱의 경우 UWP 앱처럼 알림 메시지를 보내기만 하면 됩니다. 사용자가 알림을 클릭하면 앱은 알림에서 사용자가 지정한 시작 인수로 명령줄에 의해 시작됩니다.

패키지되지 않은 앱의 경우 알림을 보낼 수 있도록 AUMID를 설정한 다음, 바로 가기에서 CLSID도 지정합니다. 임의의 GUID가 될 수 있습니다. COM 서버/활성자를 추가하지 마세요. 알림 센터에 알림을 유지할 수 있는 "스텁" COM CLSID를 추가합니다. 스텁 CLSID는 다른 알림 활성화의 활성화를 중단하므로 프로토콜 활성화 알림만 사용할 수 있습니다. 따라서 프로토콜 활성화를 지원하도록 앱을 업데이트하고 알림의 프로토콜이 사용자 고유의 앱을 활성화하도록 해야 합니다.

리소스