2015-08-10 20 views

risposta

7

Le notifiche visualizzate nel centro di azione tendono a essere notifiche Toast che l'utente non ha fatto clic mentre erano sullo schermo.

ad es. Inserisco un dvd vuoto, faccio un brindisi chiedendo cosa voglio fare con esso ma non lo clicco, quindi compare nell'elenco delle notifiche nel Centro operativo.

Non sono sicuro di come bypassare il passaggio del tostapane.

Quindi quello che probabilmente vorrai avere sono Toast (forse silenzioso?) Che finirà nel centro di azione.

ho scritto un modulo di PowerShell per la visualizzazione di questi toast, BurntToast (o controllare la GitHub repo per le istruzioni ed esempi, ecc)

Sentitevi liberi di utilizzare il modulo come è, o strappare lo distingue per capire come funziona e fa la tua implementazione. Ci sono molti esempi e documentation su come farlo in C# e/o anche nelle applicazioni moderne, ora che conosci la parola chiave da cercare.

+0

Più voti positivi! Domanda, è possibile ottenere un elenco delle notifiche di toast correnti? Ho uno scenario in cui voglio inviare una notifica quando non esiste già (voglio evitare di mandarne troppi) – sonjz

+1

Grazie per il tuo lavoro su BurntToast @Windos. Sono stato in grado di ottenere codice simile funzionante nella mia funzione di notifica Toast. La chiave per questo era due volte; 1) In "Notifiche e impostazioni di azione" in Windows 10, accedere a "Ricevi notifiche da questi mittenti" e fare clic su "PowerShell". Abilita 'Mostra notifiche nel centro operativo'. 2) Dove $ toast è definito come '[Windows.UI.Notifications.ToastNotification] :: new ($ xml)' set '$ toast.SuppressPopup = $ true' - questo obbliga la notifica al Centro operativo. Forse un parametro switch potrebbe essere aggiunto alla tua funzione New-BurntToastNotification? – Robin

+0

Grazie per i suggerimenti @Robin. Ho intenzione di rimanere bloccato e aggiornare questo modulo, quindi lo aggiungerò alla lista – Windos

0

Che ne dici di un brindisi con il tuo lavoro?

Get-EventSubscriber -SourceIdentifier JobEnd -EA 0| Unregister-Event 
$action = { 
if ($sender.State -eq 'Completed') { 
    Write-Host $sender.Name -fore green 
    Import-Module d:\scripts\BurntToast 
    $global:jobInfo = Receive-Job $job 
    New-BurntToastNotification -Text 'Job Completed'. "Job: $($sender.Name) was successful" 
} 
} 
$job = Start-Job { Start-Sleep -Seconds 5; 1 .. 5 } 
Register-ObjectEvent $job -EventName StateChanged -SourceIdentifier JobEnd -Action $action 
$job.State 
Problemi correlati