TTrayIcon灵异事件,求助。

tokimemo 2010-08-25 05:41:24
给别人写了个小工具。用了TTrayIcon做气泡提示,结果灵异的事情就发生了。
对于这种灵异事件,百度熊,谷狗都表示无能为力。

开发环境:Win7 + Delphi2010
测试环境:WinXP SP3
客户环境:WinXP SP1、2、3
结果:
开发机,气泡弹出正常。测试机,气泡弹出正常。
客户机1:无气泡弹出,其他正常。
客户机2:气泡弹出正常
客户机3:无气泡弹出,其他正常。
…………
意思就是,在客户机上,气泡不一定能弹出来。
以下是代码片段。notify是TTrayIcon控件。

notify.BalloonTitle := '注意';
notify.BalloonHint := '提示信息';
notify.BalloonTimeout := 60000;
notify.BalloonFlags := bfInfo;
notify.ShowBalloonHint;


求解:为什么客户机上会有不弹出气泡的现象。
...全文
296 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kye_jufei 2010-08-26
  • 打赏
  • 举报
回复
可試著使用API。。。例如:

var timeout: DWORD;
SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @timeout,0);
SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,nil, SPIF_SENDCHANGE);
SetForegroundWindow(GetLastActivePopup( Flogin.Handle));

tokimemo 2010-08-26
  • 打赏
  • 举报
回复
测试了一下,代码确实没有问题。
实际情况是:
应该弹出的气泡确实已经弹出了,但是,并没有在最前端显示。
而且,点击托盘图标的时候,气泡的点击事件还能触发(只有点击图标的时候才触发)。
所以应该说是隐形了比较妥当。
有没有代码让那个气泡置前或者重绘什么的。
tokimemo 2010-08-26
  • 打赏
  • 举报
回复
可能是客户机上某些软件的冲突问题,用了几个其他的包含托盘气泡的软件进行测试,也都不行。最终放弃了气泡提示。msn的提示方式不错,就是比较烦人,好处也是能让人看到。谢谢各位。
goodhj 2010-08-26
  • 打赏
  • 举报
回复
多用用Application.ProcessMessages这句话。
发了弹出气泡的消息后马上就用
kye_jufei 2010-08-25
  • 打赏
  • 举报
回复
靈異事件???如果確定代碼沒有問題,那就是那個組件有BUG,程序代碼何來靈異???這是不科學的。。。。。強烈建議你使用msnpopup-5.0組件進行通知提示..........
nkym0626 2010-08-25
  • 打赏
  • 举报
回复
那东西好像一直就不咋稳定

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧