有谁知道任务栏按钮高亮如何实现?

时间:2021-01-14 08:08:06
在Xp的任务栏中如果打开一个窗口,窗口没有获得最前窗口,那么在任务栏上该 按钮就会以橙色高亮显示。就和很多聊天窗口接收到通知消息一样。
我现在已经试过读取 任务栏按钮的结构TBBUTTONINFO和TBBUTTON中的变量都不行,获得这些值打印出来后和普通状态的按钮没什么两样。只有当前窗口的按钮
和其他的按钮不同。
是不是要通过发送消息到窗口才能获得此效果。有谁知道,回答一下,谢谢!

5 个解决方案

#1


有记得SysteParametersInfo第一个参数是这么写的:
SPI_GETFOREGROUNDFLASHCOUNT Retrieves the number of times SetForegroundWindow will flash the taskbar button when rejecting a foreground switch request. The pvParam parameter must point to a DWORD variable that receives the value.
Windows NT and Windows 95:  This value is not supported. 
SPI_SETFOREGROUNDFLASHCOUNT Sets the number of times SetForegroundWindow will flash the taskbar button when rejecting a foreground switch request. Set pvParam to the number of times to flash.
Windows NT and Windows 95:  This value is not supported. 
这个高亮是系统设置的,也就是说当系统企图把窗体最大化或还复时,因为用户又快速地放置到后台,系统反应不过来,就会闪烁.

#2


FlashWindow

#3


The FlashWindowEx function flashes the specified window. It does not change the active state of the window.


BOOL FlashWindowEx(
  PFLASHWINFO pfwi
);

Parameters
pfwi 
[in] Pointer to the FLASHWINFO structure. 
Return Values
The return value specifies the window's state before the call to the FlashWindowEx function. If the window caption was drawn as active before the call, the return value is nonzero. Otherwise, the return value is zero.

Remarks
Typically, you flash a window to inform the user that the window requires attention but does not currently have the keyboard focus. When a window flashes, it appears to change from inactive to active status. An inactive caption bar changes to an active caption bar; an active caption bar changes to an inactive caption bar.

这个方法可以设置闪烁次数

#4


应该是FlashWindow,就像QQ来消息一样一闪一闪的

#5


mark

#1


有记得SysteParametersInfo第一个参数是这么写的:
SPI_GETFOREGROUNDFLASHCOUNT Retrieves the number of times SetForegroundWindow will flash the taskbar button when rejecting a foreground switch request. The pvParam parameter must point to a DWORD variable that receives the value.
Windows NT and Windows 95:  This value is not supported. 
SPI_SETFOREGROUNDFLASHCOUNT Sets the number of times SetForegroundWindow will flash the taskbar button when rejecting a foreground switch request. Set pvParam to the number of times to flash.
Windows NT and Windows 95:  This value is not supported. 
这个高亮是系统设置的,也就是说当系统企图把窗体最大化或还复时,因为用户又快速地放置到后台,系统反应不过来,就会闪烁.

#2


FlashWindow

#3


The FlashWindowEx function flashes the specified window. It does not change the active state of the window.


BOOL FlashWindowEx(
  PFLASHWINFO pfwi
);

Parameters
pfwi 
[in] Pointer to the FLASHWINFO structure. 
Return Values
The return value specifies the window's state before the call to the FlashWindowEx function. If the window caption was drawn as active before the call, the return value is nonzero. Otherwise, the return value is zero.

Remarks
Typically, you flash a window to inform the user that the window requires attention but does not currently have the keyboard focus. When a window flashes, it appears to change from inactive to active status. An inactive caption bar changes to an active caption bar; an active caption bar changes to an inactive caption bar.

这个方法可以设置闪烁次数

#4


应该是FlashWindow,就像QQ来消息一样一闪一闪的

#5


mark