给别人写了个小工具。用了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;
求解:为什么客户机上会有不弹出气泡的现象。

解决方案 »

  1.   

    靈異事件???如果確定代碼沒有問題,那就是那個組件有BUG,程序代碼何來靈異???這是不科學的。。強烈建議你使用msnpopup-5.0組件進行通知提示..........
      

  2.   

    可試著使用API例如:var timeout: DWORD;
    SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @timeout,0);
    SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,nil, SPIF_SENDCHANGE);
    SetForegroundWindow(GetLastActivePopup( Flogin.Handle));
      

  3.   

    多用用Application.ProcessMessages这句话。
    发了弹出气泡的消息后马上就用
      

  4.   

    可能是客户机上某些软件的冲突问题,用了几个其他的包含托盘气泡的软件进行测试,也都不行。最终放弃了气泡提示。msn的提示方式不错,就是比较烦人,好处也是能让人看到。谢谢各位。