@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/windows-tray-icon-toast-notification-guide/#article>
    schema:about <https://comcomponent.com/knowledge/notifyicon/>, <https://comcomponent.com/knowledge/app-notification/> ;
    schema:mentions <https://comcomponent.com/knowledge/community-toolkit-notifications/>, <https://comcomponent.com/knowledge/winrt-toast/>, <https://comcomponent.com/knowledge/show-balloontip/>, <https://comcomponent.com/knowledge/taskbarcreated/>, <https://comcomponent.com/knowledge/focus-assist/>, <https://comcomponent.com/knowledge/session-zero/>, <https://comcomponent.com/knowledge/unpackaged-app/>, <https://comcomponent.com/knowledge/aumid/>, <https://comcomponent.com/knowledge/windows-app-sdk-runtime/>, <https://comcomponent.com/knowledge/tray-agent-ipc-pattern/>, <https://comcomponent.com/knowledge/notification-non-delivery/>, <https://comcomponent.com/knowledge/wpf/>, <https://comcomponent.com/knowledge/com/>, <https://comcomponent.com/knowledge/windows-forms/>, <https://comcomponent.com/knowledge/windows-service/>, <https://comcomponent.com/knowledge/admin-rights/> .

<https://comcomponent.com/knowledge/notifyicon/> a skos:Concept ;
    skos:prefLabel "NotifyIconクラス"@ja ;
    skos:definition "タスクバー右端の通知領域にアイコンを表示するWindows Formsのコンポーネント。IconとVisible=trueが揃って初めて表示される。"@ja ;
    skos:altLabel "System.Windows.Forms.NotifyIcon" ;
    skos:broader <https://comcomponent.com/knowledge/windows-forms/> ;
    ks:uses <https://comcomponent.com/knowledge/taskbarcreated/> .

<https://comcomponent.com/knowledge/app-notification/> a skos:Concept ;
    skos:prefLabel "AppNotification(Windows App SDK)"@ja ;
    skos:definition "Windows App SDKが提供するトースト通知API。WinForms・WPF・非パッケージWin32のいずれにも公式推奨される。"@ja ;
    skos:altLabel "AppNotificationManager" ;
    skos:altLabel "Microsoft.Windows.AppNotifications" ;
    ks:succeeds <https://comcomponent.com/knowledge/winrt-toast/> ;
    ks:succeeds <https://comcomponent.com/knowledge/community-toolkit-notifications/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/unpackaged-app/> ;
    ks:requires <https://comcomponent.com/knowledge/com/> ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/admin-rights/> ;
    ks:uses <https://comcomponent.com/knowledge/aumid/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/windows-app-sdk-runtime/> .

<https://comcomponent.com/knowledge/wpf/> a skos:Concept ;
    skos:prefLabel "WPF"@ja ;
    skos:definition "XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。"@ja ;
    skos:altLabel "Windows Presentation Foundation" .

<https://comcomponent.com/knowledge/windows-forms/> a skos:Concept ;
    skos:prefLabel "Windows Forms"@ja ;
    skos:definition "デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。"@ja ;
    skos:altLabel "WinForms" .

<https://comcomponent.com/knowledge/taskbarcreated/> a skos:Concept ;
    skos:prefLabel "TaskbarCreatedメッセージ"@ja ;
    skos:definition "Explorerがタスクバーを作り直すたびに全トップレベルウィンドウへブロードキャストされるメッセージ。受け取ったらトレイアイコンを再登録するのがWin32レベルの決まりごと。"@ja .

<https://comcomponent.com/knowledge/winrt-toast/> a skos:Concept ;
    skos:prefLabel "WinRTのToastNotificationManager"@ja ;
    skos:definition "デスクトップアプリからも呼び出せる素のWinRTトースト通知API。2026年時点では保守のみの位置付け。"@ja ;
    skos:altLabel "Windows.UI.Notifications" ;
    ks:requires <https://comcomponent.com/knowledge/aumid/> .

<https://comcomponent.com/knowledge/community-toolkit-notifications/> a skos:Concept ;
    skos:prefLabel "Community Toolkit Notifications"@ja ;
    skos:definition "トースト通知を組み立てるためのライブラリだったが、アーカイブされ現行のCommunity Toolkitには含まれない。"@ja ;
    skos:altLabel "Microsoft.Toolkit.Uwp.Notifications" .

<https://comcomponent.com/knowledge/aumid/> a skos:Concept ;
    skos:prefLabel "AUMID(AppUserModelID)"@ja ;
    skos:definition "Windowsがアプリを一意に識別するためのID。トースト通知の送り主の識別に使われる。"@ja ;
    skos:altLabel "AppUserModelID" .

<https://comcomponent.com/knowledge/unpackaged-app/> a skos:Concept ;
    skos:prefLabel "unpackaged app"@ja ;
    skos:definition "MSIXなどのパッケージを使わず、従来どおりフォルダに実行ファイルを置く形で配布されるアプリ。"@ja ;
    skos:altLabel "アンパッケージアプリ"@ja ;
    skos:altLabel "従来型のデスクトップアプリ"@ja .

<https://comcomponent.com/knowledge/windows-app-sdk-runtime/> a skos:Concept ;
    skos:prefLabel "Windows App SDKランタイム(配布)"@ja ;
    skos:definition "非パッケージアプリがAppNotificationなどWindows App SDKの機能を使うために、利用者のPCへ別途導入する必要のあるランタイム。"@ja ;
    skos:altLabel "WindowsAppRuntimeInstall.exe" .

<https://comcomponent.com/knowledge/com/> a skos:Concept ;
    skos:prefLabel "COM(コンポーネントオブジェクトモデル)"@ja ;
    skos:definition "公開インターフェース、レジストリ登録、Apartment Modelなどを土台にした、Windowsのバイナリ互換コンポーネントモデル。"@ja ;
    skos:altLabel "Component Object Model" .

<https://comcomponent.com/knowledge/admin-rights/> a skos:Concept ;
    skos:prefLabel "管理者権限"@ja ;
    skos:definition "コンピューター全体の設定を変更できる権限。"@ja ;
    skos:altLabel "昇格"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/notification-non-delivery/> .

<https://comcomponent.com/knowledge/session-zero/> a skos:Concept ;
    skos:prefLabel "セッション0"@ja ;
    skos:definition "Windows Vista以降、サービスなど対話的ユーザーに関わらないプロセス専用に予約された、ユーザーの対話的セッションとは分離されたセッション。"@ja ;
    skos:altLabel "Session 0" ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/app-notification/> .

<https://comcomponent.com/knowledge/windows-service/> a skos:Concept ;
    skos:prefLabel "Windowsサービス"@ja ;
    skos:definition "ユーザーのサインインと無関係にバックグラウンドで動くWindowsのプロセス。"@ja ;
    skos:altLabel "サービス"@ja ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/app-notification/> .

<https://comcomponent.com/knowledge/tray-agent-ipc-pattern/> a skos:Concept ;
    skos:prefLabel "トレイ常駐エージェント+IPCによる通知構成"@ja ;
    skos:definition "セッション0で動くWindowsサービスが、ユーザーセッション側のトレイ常駐エージェントへIPCで通知事象を伝え、エージェントがトーストやアイコンで表示する構成。"@ja ;
    ks:uses <https://comcomponent.com/knowledge/notifyicon/> .

<https://comcomponent.com/knowledge/show-balloontip/> a skos:Concept ;
    skos:prefLabel "NotifyIcon.ShowBalloonTip"@ja ;
    skos:definition "トレイアイコンに付随する簡易通知API。Windows 10ではトーストとして表示され通知センターに残るが、Windows 11では一時表示で残らない。"@ja ;
    skos:altLabel "バルーン通知"@ja ;
    ks:requires <https://comcomponent.com/knowledge/notifyicon/> .

<https://comcomponent.com/knowledge/focus-assist/> a skos:Concept ;
    skos:prefLabel "応答不可(Focus Assist)"@ja ;
    skos:definition "通知のバナー表示を抑止し、通知センターへ直接送る仕組み。ユーザーやグループポリシーが制御する。"@ja ;
    skos:altLabel "集中モード"@ja ;
    skos:altLabel "Do not disturb" ;
    ks:mayCause <https://comcomponent.com/knowledge/notification-non-delivery/> .

<https://comcomponent.com/knowledge/notification-non-delivery/> a skos:Concept ;
    skos:prefLabel "通知が届かない・気づかれないケース"@ja ;
    skos:definition "応答不可や通知オフ、管理者昇格プロセスなど、トースト通知が正常系として表示されない・気づかれない状況。"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/windows-forms/> ;
    schema:description "WPFアプリでトレイ常駐を実装する最小構成は、csprojでUseWPFとUseWindowsFormsを併用してWinFormsのNotifyIconを使うことである"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/core/project-sdk/msbuild-props-desktop> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/notifyicon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/taskbarcreated/> ;
    schema:description "WinFormsのNotifyIconはTaskbarCreatedメッセージを内部で処理し、Explorer再起動後も自動的にアイコンを再登録する"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/shell/taskbar> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/app-notification/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/winrt-toast/> ;
    schema:description "2026年時点でWindows App SDKのAppNotificationが公式推奨となり、素のWinRT ToastNotificationManagerは保守のみの位置付けになっている"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/develop/notifications/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/app-notification/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/community-toolkit-notifications/> ;
    schema:description "Community Toolkit Notificationsはアーカイブされ、Windows App SDKのアプリ通知に置き換えられた"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/communitytoolkit/archive/windows/notificationsoverview> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/winrt-toast/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/aumid/> ;
    schema:description "素のWindows.UI.NotificationsをデスクトップアプリからつかうにはAUMID付きショートカットをスタートメニューに登録しておく必要がある"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/shell/quickstart-sending-desktop-toast> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/app-notification/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/unpackaged-app/> ;
    schema:description "Windows App SDKのAppNotificationはパッケージIDなしの非パッケージアプリでも動作する、公式推奨のトースト通知APIである"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/desktop/modernize/modernize-packaged-apps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/unpackaged-app/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/windows-app-sdk-runtime/> ;
    schema:description "非パッケージアプリがWindows App SDKの機能(AppNotificationなど)を使う場合に限り、Windows App SDKランタイムを利用者のPCへ届ける責任は配布する側にある(Windows App SDKを使わない非パッケージアプリには当てはまらない)"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/windows-app-sdk/deploy-unpackaged-apps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/app-notification/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/com/> ;
    schema:description "非パッケージアプリでのAppNotificationManager.Register()は、COMサーバー登録やAUMID相当の処理を自動で行う"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/develop/notifications/app-notifications/app-notifications-dotnet> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/app-notification/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/admin-rights/> ;
    schema:description "管理者権限に昇格したプロセスからのAppNotificationは未サポートで、Showは例外を出さず静かに失敗する"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/develop/notifications/app-notifications/app-notifications-quickstart> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/session-zero/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/app-notification/> ;
    schema:description "セッション0で動くプロセスはユーザーと対話するUIを持てないため、AppNotificationのようなトースト通知を表示できない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/services/service-changes-for-windows-vista> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windows-service/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/app-notification/> ;
    schema:description "Windowsサービスはセッション0で動作するため、直接AppNotificationのようなトースト通知を出すことはできない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/services/service-changes-for-windows-vista> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windows-service/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/tray-agent-ipc-pattern/> ;
    schema:description "ユーザーに通知したいWindowsサービスは、ユーザーセッション側のトレイ常駐エージェントとIPCで連携する構成を必要とする"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/services/interactive-services> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/tray-agent-ipc-pattern/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/notifyicon/> ;
    schema:description "トレイ常駐エージェントはNotifyIconによる常駐とAppNotificationによる通知を組み合わせたプロセスとして実装される"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/shell/notification-area> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/show-balloontip/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/notifyicon/> ;
    schema:description "ShowBalloonTipはNotifyIconに付随する通知であり、トレイアイコンを持つアプリでのみ使える"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shell_notifyiconw> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/focus-assist/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/notification-non-delivery/> ;
    schema:description "応答不可(Focus Assist)が有効なとき、通知のバナーは表示されず通知センターへ直行するため、その瞬間には気づかれない"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/windows-client/shell-experience/notifications-not-show-action-notification-center> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/admin-rights/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/notification-non-delivery/> ;
    schema:description "管理者権限に昇格したプロセスからのAppNotificationは未サポートで表示に失敗するため、気づかれない通知の原因になる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/develop/notifications/app-notifications/app-notifications-quickstart> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/app-notification/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/aumid/> ;
    schema:description "非パッケージアプリのRegister()は、AUMID相当の処理を含む登録を自動的に行う"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/develop/notifications/app-notifications/app-notifications-dotnet> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/app-notification/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/windows-app-sdk-runtime/> ;
    schema:description "AppNotificationの機能は、csprojでのWindows App SDK構成と配布先へのランタイム導入が揃って初めて動作する"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/windows-app-sdk/use-windows-app-sdk-in-existing-project> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
