Zitat von
F.W.:
Hab' mir das so vorgestellt: [...]
Ich hab´s so gemacht, wobei auf Wunsch alle Fenster oder nur die typischen Browser geschlossen werden:
Delphi-Quellcode:
var
WebBrowsersOnly : boolean = false;
function CloseAll(Wnd: hWnd; lparam: LPARAM): longbool; stdcall;
const
browser_classes : string = 'IEFrame|MozillaWindowClass|BLDOPERA';
var
buf : array[0..MAX_PATH - 1]of char;
begin
if(WebBrowsersOnly) then GetClassName(Wnd,buf,80);
if(not WebBrowsersOnly) or
(pos(buf,browser_classes) > 0) then
begin
if((GetWindowLong(Wnd, GWL_STYLE) and (WS_VISIBLE or WS_SYSMENU)) =
(WS_VISIBLE or WS_SYSMENU)) then
PostMessage(Wnd, WM_SYSCOMMAND,lParam,0);
end;
Result := true;
end;
{ ... }
// nur Browser ->
WebBrowsersOnly := true;
EnumWindows(@CloseAll,SC_CLOSE);
// alle Fenster
WebBrowsersOnly := false;
EnumWindows(@CloseAll,SC_CLOSE);
Man kann übrigens auch minimieren:
EnumWindows(@CloseAll,SC_MINIMIZE);
usw.