![]() |
Re: Explorer / Internet Explorer
Zitat:
|
Re: Explorer / Internet Explorer
Zitat:
Weiters könntest du auch nur die Schreibrechte auf den Windows-Ordner entfernen, aber ich weiß nicht inwiefern dies unter Win98 möglich ist... Greetz alcaeus |
Re: Explorer / Internet Explorer
Hmm...
Es ist sicher eine Frage des Geldes, aber für öffentliche Einrichtungen würde ich immer einen PC-Wächter auf Hardwarebasis empfehlen |
Re: Explorer / Internet Explorer
naja ich werd noch ein bissel rumprobieren und dann Posten, wenn ich weitergekommen bin.
Auf jeden Fall Danke, für die Hilfe @all. |
Re: Explorer / Internet Explorer
Ich hätte da eine Frage dazu:
Wie schließt du eigentlich die Fenster? Bei mir klappt es nähmlich weder mit DestroyWindow noch mit SendMessage(HWND, WM_DESTROY, 0, 0). :( Reddog EDIT: OK, hat sich erledigt, klappt wunderbar mit PostMessage(HWND, WM_CLOSE, 0, 0). :) |
Re: Explorer / Internet Explorer
Ich wollte damit eigentlich nur sagen, dass man durch die Adressleiste noch bspw. auf die cmd.exe, also Dos-Box zugreifen kann, und einem somit wieder alle Toffen stehen.
Man könnte auch dieses Fenster wieder schließen... MfG Luki |
Re: Explorer / Internet Explorer
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:
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:
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;
Code:
Um den Klassenname rauszubekommen, eignet sich das Freeware Programm X-Spy ausgezeichnet.
while FindWindow('Klassenname',nil)<>0 do
BEGIN SendMessage(FindWindow('Klassenname',nil),WM_Syscommand,SC_Close,0); Application.ProcessMessages; END; Man kann es bei ![]() 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. :dp: MFG Evian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz