PowerShell/scripts/show-notification.ps1

36 lines
1.1 KiB
PowerShell
Raw Normal View History

2024-10-01 15:24:16 +02:00
<#
2022-08-13 15:34:35 +02:00
.SYNOPSIS
2022-12-29 21:46:35 +01:00
Shows a notification
2022-08-13 15:34:35 +02:00
.DESCRIPTION
2024-10-15 12:56:17 +02:00
This PowerShell script shows a toast-message notification for the Windows Notification Center.
2024-05-14 21:42:24 +02:00
.PARAMETER text
Specifies the text to show ('Hello World' by default)
.PARAMETER title
Specifies the title to show ('NOTE' by default)
.PARAMETER duration
Specifies the view duration in milliseconds (5000 by default)
2022-08-13 15:34:35 +02:00
.EXAMPLE
2024-10-15 12:56:17 +02:00
PS> ./show-notification.ps1
2022-08-13 15:34:35 +02:00
.LINK
2022-12-29 21:46:35 +01:00
https://github.com/fleschutz/PowerShell
2022-08-13 15:34:35 +02:00
.NOTES
2022-12-29 21:46:35 +01:00
Author: Markus Fleschutz | License: CC0
2022-08-13 15:34:35 +02:00
#>
2024-10-15 12:56:17 +02:00
param([string]$text = "Hello World", [string]$title = "NOTE", [int]$duration = 5000)
2022-08-13 15:34:35 +02:00
try {
Add-Type -AssemblyName System.Windows.Forms
$global:balloon = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balloon.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balloon.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Info
2024-05-14 21:42:24 +02:00
$balloon.BalloonTipText = $text
$balloon.BalloonTipTitle = $title
2022-08-13 15:34:35 +02:00
$balloon.Visible = $true
2024-10-15 12:56:17 +02:00
$balloon.ShowBalloonTip($duration)
2022-08-13 15:34:35 +02:00
exit 0 # success
} catch {
2022-09-10 22:45:56 +02:00
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
2022-12-29 21:46:35 +01:00
}