Mit folgendem Code kann man das Tray-Fenster-
Handle herausfinden.
Ich weiß zwar noch nicht wie (schaue gerade), aber damit kann es das Fenster mit Sicherheit auch ausblenden. So, ich hab's jetzt. Ist ganz einfach:
Delphi-Quellcode:
function GetTray: HWND;
var
wndMain, wndChild: HWND;
begin
result := 0;
wndMain := FindWindow('Shell_TrayWnd','');
if wndMain <> 0 then
begin
wndChild := FindWindowEx(wndMain, 0, 'TrayNotifyWnd', nil);
wndChild := FindWindowEx(wndChild, 0, 'SysPager', nil);
wndChild := FindWindowEx(wndChild, 0, 'ToolbarWindow32', nil);
result := wndChild;
end;
end;
procedure HideTray;
var
TrayWnd: HWND;
begin
TrayWnd := GetTray;
if TrayWnd <> 0 then
begin
ShowWindow(TrayWnd, SW_HIDE);
end;
end;
procedure ShowTray;
var
TrayWnd: HWND;
begin
TrayWnd := GetTray;
if TrayWnd <> 0 then
begin
ShowWindow(TrayWnd, SW_SHOW);
end;
end;
Edit:// 0 und 1 durch Konstanten ersetzt.
Mit freundlichen Grüßen,
Valle