windows - C #/Win10 - App notifikationsindstillinger i regedit

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder i øjeblikket på et eget projekt i C # Windows Forms (Visual Studio 2k17), som hovedsagelig vil fungere i baggrunden. Projektet kræver i nogle tilfælde støtte til indbyggede Windows 10-meddelelser til at underrette brugeren om visse ting, som skete (under sit arbejde eller under hans AFK-status).
Det jeg forsøger at gøre er at stable BalloonTips (via ShowBalloonTip-funktionen) i Action Center, så de sidder der, indtil brugeren rydder dem manuelt. For at gøre det har jeg manuelt forsøgt at ændre dem:


Windows-indstillinger -> Meddelelse & Handlingsindstillinger -> Meddelelse & handlinger -> vælg min app, som kører i baggrunden ->
tick til ON: Notifikationer, Vis notifikationsbannere, vis meddelelser i actioncenter, afspil lyd og skift antal meddelelser, der er synlige i actioncenter til 10/20, og selvfølgelig - det fungerede!


Denne 'løsning' er ikke så god, fordi disse indstillinger ikke bliver sat til de rigtige værdier, som appen kræver på en anden computer med Win10.


Jeg har nu en ide om at ændre disse indstillinger for appmeddelelser i Windows Indstillinger -> Notifikationer og Action Center ... via regedit og brugen af ​​korrekt funktion i C # (RegistryKey osv.). Den fuction, der opretter registreringsværdier korrekt ville blive kaldt altid i starten af ​​programmet. Jeg har fundet de nødvendige registreringsnøgler i:


HKEY\_CURRENT\_USER -> SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Notifikationer -> Indstillinger -> Microsoft.Explorer.Notification. {Random-numbers-which-i-don't-know-but-it 's-that- app}.


Placering og udseende af registreringsdatabasen [1]


Nu, hvor du har lidt baggrund, lad os gå til mine spørgsmål



  • Hvad er det rigtige navn på disse værdier, hvad jeg kalder - tilfældige tal (jeg antager, at de er en slags ID for programmet)?

  • Er det muligt at hente disse 'tilfældige tal-som-jeg-ikke-vide', når programmet køres? Er der nogen funktion at få det i streng eller sth i C #?



P.S



Bortset fra den ovenfor beskrevne metode har jeg prøvet flere andre ting:



  • Vind 8 funktioner fra Windows.UI og Windows.Data.Xml - ToastNotifications osv. giv mig System.Runtime fejl;

  • Brugerdefinerede funktioner fra flere githubs, men de blev ikke i Action Center (ja, jeg er dum)

  • Og selvfølgelig sætter timeren på ShowBalloonTip til 100000000000 flåter, men jeg ved at OS (win 10) har begrænset det fra 5 sekunder til 30 sekunder?



Skål :)

Bedste reference