应用不会显示气球提示

时间:2018-08-15 20:34:09

标签: vb.net windows-10 notification-area

我正在VS2017中编写一个VB.NET应用程序,以便在Windows 10上运行。我希望主(也是唯一)窗体最小化为系统托盘图标。那部分我工作得很好。下一部分显示气球提示弹出通知(例如,“应用程序仍在运行”),根本无法正常工作。

我已经检查/注意到以下内容:

  • NotifyIcon对象在设计器网格以及该表单的vb.net代码中都有一个图标分配给它,相关的BalloonTipIcon成员/属性也是如此。
  • 计算机上的组策略似乎未禁止使用气球提示
  • 气球提示在注册表中似乎没有被禁用
  • 该程序在Windows 8.1 Pro中可以按预期运行 并显示BalloonTip,但在Windows 10 Enterprise N 2016 LTSB中不能运行。

该计算机位于确实进行了组策略管理的域中,但是在我的计算机上找到的结果策略集似乎并不表明气球提示已被禁用。

从StackOverflow复制和粘贴确切的代码不起作用。然后问题必须出在系统本身中。

这是代码(适用于W8.1,但不适用于W10):

Private Sub frmMain_Resize(sender As Object, e As EventArgs) Handles Me.Resize

    Try

        If Me.WindowState = FormWindowState.Minimized Then

            NotifyIcon1.Visible = True
            NotifyIcon1.Icon = SystemIcons.Application
            NotifyIcon1.BalloonTipIcon = ToolTipIcon.Info
            NotifyIcon1.BalloonTipTitle = "App Title"
            NotifyIcon1.BalloonTipText = "The App is still open!"
            NotifyIcon1.ShowBalloonTip(50000)
            ShowInTaskbar = False

        End If

    Catch ex As Exception

        ErrorHandler(ex)

    End Try

End Sub

我还能去哪里?

Cross-posted on SuperUser

3 个答案:

答案 0 :(得分:0)

因此,事实证明我是书中最古老的把戏之一。更改一个注册表项后,我需要进行完全重启。

因此,对我来说,要使“气球提示”出现在Windows 10中需要以下条件:

  1. 打开regedit.exe

  2. 导航到HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced

  3. 设置(或添加)EnableBalloonTips(作为REG_DWORD)并将值设置为1

  4. 重新启动。

Voilà。问题解决了。

答案 1 :(得分:0)

就我而言,David Mancini 的回应还不够,我还必须在“设置”->“系统”->“通知和操作”下启用“从应用程序和其他发件人获取通知” enter image description here

答案 2 :(得分:-1)

我发现,即使我在代码中声明了图标,我也必须最初还要在notifyIcon1.icon属性中添加一个图标。