如何隐藏任务栏右边的时钟栏某一项?(再一次) (100分)

A

Argus

Unregistered / Unconfirmed
GUEST, unregistred user!
var
wnd:thandle;
procedure TForm1.Button1Click(Sender: TObject);
begin
//得到任务栏通知区的窗口句柄;
Wnd:= FindWindow('Shell_TrayWnd', nil);
Wnd:= FindWindowEx(Wnd, HWND(0), 'TrayNotifyWnd', nil);
//隐藏
ShowWindow(Wnd, SW_HIDE);{相应的可以显示SW_SHOW}
end;
……………………………………………………
上面实现隐藏任务栏右边的时钟栏,(全隐)
问:
如何只对某个项目进行隐藏?
比如隐藏音量或输入法,,或QQ什么的
……
急需回答~~~~~~~~~~~(谢谢)
 
FindWindow(TrayClockWClass', nil);就是时钟的句柄
你用SPY++就很容易找到你要修改的东西的句柄,
 
张兄:
哥们才疏学浅,不知道SPY++
可以换另一种说法吗?
只要能找到该项的句柄就行
谢谢~
 
SPY++是VC的工具里的套间,
 
用他很容易找到任何窗口的句柄和标题,接下来,你就可以~~~~~~~~~~~
 
我拿另一个东西试了一下
好像只有时钟那里能显示TrayClockWClass
其它的
如音量,QQ显示的都是一样
都是Traynotifywnd
没有区分~~~~~~~~~~~
再次请教~!~~
 
我也在研究中[:D]
 
虚拟代码:
EnumWindows
GetClassName
FindWindow(ClassName,nil);
Shell_NotifyIcon(NIM_DELETE,@Tray);
 
能说详细吗?
 
最简单的方法就是用 SPY找到那个要隐藏的图标的CLASSNAME,再用API函数找到句柄,
再隐藏,,
 
我已经看了
没有办法还是老问题
:好像只有时钟那里能显示TrayClockWClass
其它的
如音量,QQ显示的都是一样
都是Traynotifywnd
没有区分~~~~~~~~~~~
再次请教~!~~
……
 
肯定不行的
因为那些单个图标不是窗口
用钩子试试
 
笨哥哥唉,其他几个句柄是原来的主窗口的句柄,放到托盘里是靠
自定义消息传给主窗口的,你只有用我前面说的办法才行,这么多
人就是不动脑子。
 
顶部