!!! デスクトップ通知(トースト通知)
{{category Windows PowerShell,nolink}} PowerShell で、Windows のデスクトップ通知・トースト通知をする。
WindowsRuntime を使用するため、Windows PowerShell が対象。
!!!トースト通知
!!基本
$headline = "headline text"
$message = "message text"
$xml = @"
$($headline)
$($message)
"@
$doc = [Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime]::New()
$doc.loadXml($xml)
$appid = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe'
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]::CreateToastNotifier($appid).Show($doc)
!!テキスト
text 要素を最大3つのテキストを指定でき、合わせて6行分が表示される。
1つ指定した場合は、太字で最大6行。2つまたは3つを指定した場合は、1つ目が太字で最大2行、2つ目と3つ目は普通(太字でない)となる。
headline text
message text
second message text
!改行
改行する場合は「`n」で改行する。
second`nmessage`ntext
!表示行数
text 要素の hint-maxLines 属性で、表示される行数を指定できる。
実際に有効なのは、1つ目で、1行に制限するくらい。
headline text
!!ロゴ
image 要素で、配置 placement 属性で appLogoOverride を指定する(この値は Win8 の実装に由来するらしい)。
メッセージの左側に表示される(寸法は 100% スケーリングで 48 x 48 ピクセル)。
message text
!円形にクリップする
hint-crop 属性で、circle を指定する。
!!イメージ
image 要素で、src 属性でファイルパスを指定する。
message text
!ヒーローイメージ
placement 属性で hero を指定する。トーストの上に画像が表示される(寸法は 100% スケーリングで 364 x 180 ピクセル)。
!!通知音
トーストを表示した際の通知音を audio 要素で指定できる。
〜
利用可能な通知音は https://learn.microsoft.com/en-us/uwp/schemas/tiles/toastschema/element-audio#attributes
!ループ
loop 属性で true を指定する。トーストを消すまで通知音が鳴り続ける。
!サイレント
silent 属性で true を指定する。トースト通知が表示される際に通知音がならない。
!!!アクション
!!トーストをクリック
表示されたトーストをクリックしたときに、アクションする(例:Google のサイトを開く)
Click to open Google
!!アクションボタン
!!!参考
* Toast notification examples for PowerShell
** https://github.com/GitHub30/toast-notification-examples
* 【PowerShell】デスクトップ通知のスニペット【トースト通知】 #初心者 - Qiita
** https://qiita.com/relu/items/b7121487a1d5756dfcf9