Einzelnen Beitrag anzeigen

Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#17

Re: Explorer / Internet Explorer

  Alt 20. Jul 2004, 19:05
Ok, funzt eigendlich ganz gut und verbraucht weit weniger Ressourcen, als ich angenommen hätte... also läuft auf nem Pentium II 266, ohne, dass man irgendwas merkt.

Um zu überprüfen ob der IE zum Browsen im System genutzt wird, benutze ich in etwa volgenden Code:

Code:
Procedure CloseAllIE2Sys;
VAR
HWND1, HWND2 : THandle;
begin
while FindWindow('IEFrame',nil)<>0 do
  BEGIN
   HWND1 := FindWindow('IEFrame',nil);
   HWND2 := HWND1;
   IF SearchSysListView(HWND1) <> 0 THEN
   SendMessage(HWND2,WM_Syscommand,SC_Close,0);
  END;
end;

function Tform1.SearchSysListView(HWND : THandle): THandle;
var
  return: THandle;
  ClassName: string;
  count: integer;
const
  MaxClassLength = 256;
begin
  Result:= 0;
  application.ProcessMessages;

  SetLength(ClassName, MaxClassLength);
  count:= GetClassName(HWND, PChar(ClassName), MaxClassLength);
  If count = 0 then
  Exit;
  SetLength(ClassName, count);

  If ClassName = 'SysListView32' then begin
    Result:= HWND;
    Exit;
  end;
  return:=GetTopWindow(HWND);
  If return <> 0 then begin
    while (return <> 0) and (Result = 0) do begin
      Result:= SearchSysListView(return);
      return:= GetNextWindow(return, GW_HWNDNEXT);
    end;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 CloseAllIE2Sys;
end;
Um andere Programme zu beenden, die die Benutzer nicht nutzen können sollen, nehm ich folgenden Code, wobei für Klassenname natürlich der entsprechende Wert für das Programm eingegeben werden muss:

Code:
while FindWindow('Klassenname',nil)<>0 do
BEGIN
    SendMessage(FindWindow('Klassenname',nil),WM_Syscommand,SC_Close,0);
    Application.ProcessMessages;
END;
Um den Klassenname rauszubekommen, eignet sich das Freeware Programm X-Spy ausgezeichnet.
Man kann es bei motzi.fs-tools.de downloaden.

Also großes Danke noch mal an Reddog, der die Arbeit gemacht hat, die eigendlich meine Aufgabe gewesen wäre und an alle anderen, die mir nen Tip gegeben haben natürlich auch.



MFG

Evian
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat