小弟用SERVERSOCKET和CLIENTSOCKET做了一个聊天程序,但是如果客户端最小化以后
服务器端发来的信息(如聊天回复)就不易察觉,请问如何做到让WINDOWS的任务栏中的程序不停闪烁?能让系统发出提示声音更好。请多指教我先谢过了!

解决方案 »

  1.   

    用类似msn的方法好了,角落里pop一个form出来
      

  2.   

    BOOL FlashWindow(
      HWND hWnd,
      BOOL bInvert
    );
      

  3.   

    FlashWindow(application.handle, true);
      

  4.   

    只能给一个思路,
    用一个Timer控件,准备两个个图标,一个有图形,一个什么图形也没有。
    当服务器端发来消息时,在消息处理函数中使Timer1.enabled:=true;然后在ONTimer事件中,不断地替换搬盘的图标:
    FillDataStructure;//假设这个函数是填充TNotifyIconData结构的
    在里面改变:hIcon字段,把它指向你的图标的句柄(有两个图标,所以有两句柄,一直交替换)
    然后:
    Result := Shell_NotifyIcon(NIM_MODIFY, @FIconData);
    就达到替换图标一直在动的效果啦,声音也差不多,在客户端接到服务端发来的消息处理事件中,播放声音:
    uses mmsystem;
    ......
    Onread:
    begin
    ....
       sndplaysound('eat1.wav',snd_async);
    ...
    end;
      

  5.   

    调用FlashWindow(application.handle, true)只闪烁一两下就停了,我要它不停的闪(循环调用也没作用)
    还有播放声音的文件需要在客户端略显麻烦,有更好的方法吗?
      

  6.   

    FlashWindowEx 
    哪能控制闪烁的频率、速度
      

  7.   

    另:FlashWindowEx怎么用能否给个例子