;============================================================ ; sample_toast_winrt.hsp — モダン WinRT Toast 通知のサンプル ; ; 既存の sample_toast.hsp は iron_toast.hsp (Shell_NotifyIcon バルーン) ; を使っているが、こちらは iron_toast_winrt.hsp で ; Windows.UI.Notifications.ToastNotification (WinRT) を呼ぶ。 ; モダン、通知センター履歴あり、フォーカスアシスト対応。 ; ; 初回起動時に Start Menu\Programs に ショートカットを自動作成して ; AppUserModelID を登録するので、以後 OS が通知を受け入れる。 ;============================================================ #include "hsp3_net_64.as" #include "iron_toast_winrt.hsp" title "iron_toast_winrt sample" screen 0, 520, 420 font "MS Gothic", 14 mes "==== モダン Toast (WinRT) デモ ====" mes "" ; アプリ識別情報 APP_DISPNAME = "IronHSP Toast Sample" APP_ID = "IronHSP.Sample.ToastWinRT" toast_winrt_init APP_DISPNAME, APP_ID if stat < 0 { color 200, 0, 0 mes "[error] toast_winrt_init 失敗 (stat=" + stat + ")" color 0, 0, 0 mes "(初回 only: 管理者権限不要だが Win8+ 必須)" stop } mes "初期化 OK (AppUserModelID = " + APP_ID + ")" mes "" pos 10, 80 objsize 240, 40 button gosub "1 行だけ", *on_1 pos 260, 80 button gosub "タイトル + 本文 (2)", *on_2 pos 10, 130 objsize 240, 40 button gosub "タイトル + 2 行", *on_3 pos 260, 130 button gosub "日本語メッセージ", *on_jp pos 10, 180 objsize 490, 40 button gosub "連打 (3 件同時に飛ばす)", *on_burst pos 10, 250 mes "(ログ)" logline = 270 stop *on_1 toast_winrt1 "シンプルな通知です" gosub *log_result : return *on_2 toast_winrt2 "処理完了", "データの保存に成功しました" gosub *log_result : return *on_3 toast_winrt3 "ダウンロード完了", "大容量ファイル.zip", "2.3 GB / 00:01:42" gosub *log_result : return *on_jp toast_winrt2 "日本語テスト", "マルチバイト文字列が正しく表示されるか確認" gosub *log_result : return *on_burst toast_winrt1 "連続通知 1/3" toast_winrt2 "連続通知 2/3", "少し待ってね" toast_winrt3 "連続通知 3/3", "最終のトースト", "通知センターに残る" gosub *log_result : return *log_result color 0, 80, 160 pos 10, logline mes "toast stat=" + stat color 0, 0, 0 logline += 20 return