gpt4 book ai didi

delphi - Delphi 应用程序托盘图标上的气球提示不断弹出

转载 作者:行者123 更新时间:2023-12-03 14:40:34 25 4
gpt4 key购买 nike

我有一个 Delphi 2006 应用程序,可以最小化为托盘图标,并通过托盘图标上的气球提示显示各种警报消息。

在某些情况下 - 我不知道什么时候 - 先前显示的气球提示不断弹出并且不会消失。它会显示编程的时间长度,关闭,然后立即重新出现。

它始终是来自此应用程序的气球提示。

如果应用程序显示另一个气球提示(该提示在编程的时间内显示),则虚拟提示将恢复。

就好像提示被困在队列中的某个地方并且没有被删除。在没有人有灵感的情况下(我意识到这是一个渺茫的机会......),有人知道如何清除气球提示吗?

最佳答案

您使用的是哪个 TrayIcon? “Vcl.ExtCtrls”中的TCustomTrayIcon使用TNotifyIconData将Popup发送到TrayIcon。某些属性需要 Windows Vista 或更高版本。

public
FData: TNotifyIconData; //Winapi.ShellAPI

procedure TCustomTrayIcon.ShowBalloonHint;
begin
FData.uFlags := FData.uFlags or NIF_INFO;
FData.dwInfoFlags := Cardinal(FBalloonFlags);
Shell_NotifyIcon(NIM_MODIFY, FData); //Refresh(NIM_MODIFY);
end;

您可以通过处理托盘图标发送的消息来查看发生了什么。

NIN_BALLOONSHOW      = WM_USER + 2;
NIN_BALLOONHIDE = WM_USER + 3;
NIN_BALLOONTIMEOUT = WM_USER + 4;
NIN_BALLOONUSERCLICK = WM_USER + 5;

关于delphi - Delphi 应用程序托盘图标上的气球提示不断弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4192178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com