C#/ Win10 - regedit

时间:2017-07-18 06:14:01

标签: c# windows visual-studio-2017

我目前正在使用C#Windows Forms(Visual Studio 2k17)开发自己的项目,该项目主要在后台运行。在某些情况下,该项目需要支持Windows 10内置通知,以通知用户发生的某些事情(在他的工作期间或在他的AFK状态期间)。 我想要做的是在Action Center中叠加BalloonTips(通过ShowBalloonTip函数),这样他们就坐在那里直到用户手动清除它们。为了做到这一点,我已经手动尝试改变它们:

Windows设置 - >通知&操作设置 - >通知&行动 - >选择我的应用程序,它在后台运行 - > 勾选为ON:通知,显示通知横幅,在操作中心显示通知,播放声音,并将操作中心中显示的通知数量更改为10/20,当然 - 它有效!

这个"解决方案"并不是那么好,因为这些设置不会被设置为应用程序在Win10的不同计算机上所需的正确值。

我现在有了一个想法,在Windows设置中更改这些应用通知设置 - >通知&行动中心......通过注册表和在C#(RegistryKey等)中使用适当的功能。正确设置注册表值的功能将始终在程序开始时调用。我在以下位置找到了所需的注册表项:

HKEY_CURRENT_USER - >软件 - >微软 - > Windows - > CurrentVersion - >通知 - >设置 - > 。Microsoft.Explorer.Notification {随机数 - 这-I-不要'叔知识但-它' S-该应用内}。

Location and look of the registry

现在你有了一些背景知识,让我们回答我的问题

  • 这些值的正确名称是什么,我称之为 - 随机数(我猜他们是某种程序的ID)?

  • 是否可以检索那些"随机数 - 我不知道"什么时候运行程序?是否有任何函数可以在C#中使用字符串或某些函数来获取它?

P.S

除了上面给出的方法之外,我还尝试了其他一些方法:

  • 从Windows.UI和Windows.Data.Xml中获取8个函数 - ToastNotifications等给我System.Runtime错误;

  • 来自几个githubs的自定义函数,但它们没有停留在Action Center中(是的,我是愚蠢的)

  • 当然,将ShowBalloonTip上的计时器设置为100000000000个刻度,但我知道OS(胜利10)将它限制在5秒到30秒之间?

干杯:)

0 个答案:

没有答案