ОК, я с тобой сейчас. Это работает изнутри ISE:
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Timers")
## This is the location of your download files
$notification = "E:\TDdownload"
$notification = New-Object System.Windows.Forms.NotifyIcon
$notification.Icon = "C:\Users\Sefler\Desktop\PerfCenterCpl.ico"
$notification.BalloonTipTitle = "Windows auto maintaince"
$notification.BalloonTipIcon = "Info"
$title = "Windows will now try to clean {0} as scheduled." -f $fileLocation
$notification.BalloonTipText = $title
$notification.Visible = $True
## Clear any previous events
Remove-Event notification_event -ea SilentlyContinue
## Register a click event
register-objectevent $notification BalloonTipClicked notification_event
$notification.ShowBalloonTip(15000)
## Wait for the onClick event
wait-event -timeout 15 -sourceIdentifier notification_event > $null
Remove-Event notification_event -ea SilentlyContinue
"Done!!"
Unregister-Event -SourceIdentifier notification_event
Обратите внимание, что это работает, когда вы щелкаете в теле окна, но не , когда вы нажимаете "x", чтобы закрыть окно. Поэтому вы можете подписаться на событие BalloonTipClosed (или вместо BalloonTipClicked).