sample\iron\sample_toast_winrt.hsp » Plain Format
;============================================================
; 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