!!! デスクトップ通知(トースト通知) {{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