Home Meine Person Meine Familie Meine Freunde Meine Hobbies
Meine Heimat Meine Reisen Meine Technik Mein Forum Mein Gästebuch
Meine Wapseite Meine Favoriten      

Aktuelle Seite:  Skycle / Person / Über mich / Hobbies / Technik / Programmierung

Internet Explorer anpassen

Stößt Du im Web häufig auf interessant gestaltete Seiten? Dieses Dokument ausdrucken...

Dann lad Dir doch einzelne Elemente der Seite in Deine Lieblingsprogramme!
Die entsprechende Funktion baust Du Dir einfach selbst.

Voraussetzungen

Folgende Voraussetzungen müssen erfüllt sein:

• Du surfst unter Microsoft® Windows® ab Version 4.0 (Win95) mit Microsoft® Internet Explorer® ab Version 4.0 ODER unter Microsoft® Windows® XP mit Microsoft® Internet Explorer® v6.

• Bei Systemstart meldest Du Dich stets unter gleichem Benutzerprofil an. (Die folgenden Änderungen wirken sich nur auf den aktuell angemeldeten Benutzer aus.)
• Du trägst die hier angegebenen Werte in Deine Registrier-Datenbank ein:
 soeind.reg
• Du schreibst ein HTML-Dokument mit eingebettetem Skript:
 Win95IE4
 WinXPIE6

Im Internet Explorer 4 bzw. 4.01 funktioniert das "Plug-In" mit Bildern, Frames und markierten Pfad-Angaben innerhalb von Texten.
Für den Internet Explorer 6 steht die Funktion für Bilder, Links und Pfadmarkierungen zur Verfügung (für Frames habe ich noch nicht den passenden Code).

Ich übernehme KEINE Garantie für volle Funktionalität oder für unsachgemäßen Umgang mit dem Registrierungseditor von Windows.

Schreib in einer Editieranwendung das folgende HTML-Dokument und speichere es im Ordner "Web" unterhalb Deines Windows-Verzeichnisses.

Das Skript für den Internet Explorer 4

Nach oben

<html>
<script language="JavaScript" defer>
var parentwin = external.menuArguments;
var doc = parentwin.document;
var REF, Referenz;
REF = "";
var sel = doc.selection;
var rng = sel.createRange();
var str = new String(rng.text);
var openas = new String("RunDLL32 Shell32.dll,OpenAs_RunDLL ");
var st = new ActiveXObject("wscript.shell");

if ( str != "" )
	{
	if ( parentwin.event.srcElement.tagName == "IMG" )
		{
		REF = parentwin.event.srcElement.src;
		PfadErmitteln(REF)
		Referenz = REF;
		st.run(openas + Referenz);
		}
	else	{
		Referenz = str;
		PfadErmitteln(Referenz)
		st.run(openas + Referenz);
		}
	}
else	{
	REF = doc.location.href;
	PfadErmitteln(REF)
	Referenz = REF;
	st.run(openas + Referenz);
	}

function PfadErmitteln(filespec)
        {
        var fso, Pfad, s = "";
        fso = new ActiveXObject("Scripting.FileSystemObject");
        s = fso.GetAbsolutePathName(REF);
                //Zeigt Pfade im Format "C:\file:\D:\MyWorld..."
        Pfad = s.replace("C:\\file:\\","");
        REF = Pfad;
        }
</script>
</html>

Das Skript für den Internet Explorer 6

Nach oben

<html>

<SCRIPT LANGUAGE="JavaScript">
var parentwin = external.menuArguments;
var doc = parentwin.document;
var REF, Referenz;
REF = "";
var sel = doc.selection;
var rng = sel.createRange();
var str = new String(rng.text);
var openas = new String("RunDLL32 Shell32.dll,OpenAs_RunDLL ");
var st = new ActiveXObject("wscript.shell");

if ( parentwin.event.srcElement.tagName == "IMG" )
	{
	str = "";   /* str muss NULL gesetzt werden, da im Verlauf 
			des Skripts noch geprüft wird, 
			ob eine Textmarkierung vorhanden ist. */
	REF = parentwin.event.srcElement.src;
	PfadErmitteln(REF)
	Referenz = REF;
	beginn();
	}

if ( parentwin.event.srcElement.tagName == "A" )
	{
	str = "";   /* str muss NULL gesetzt werden, da im Verlauf 
			des Skripts noch geprüft wird, 
			ob eine Textmarkierung vorhanden ist. */
	REF = parentwin.event.srcElement.href;
	PfadErmitteln(REF)
	Referenz = REF;
	beginn();
	}

if ( str != "" )
	{
	if   ( str != doc.location.href)
		{
		REF = str;
	        Referenz = REF;
		}
	beginn();
	}

function PfadErmitteln(filespec)
	{
        var fso, Pfad, s = "";
        fso = new ActiveXObject("Scripting.FileSystemObject");
        s = fso.GetAbsolutePathName(REF);
		/* Zeigt Pfade im Format "C:\file:\D:\MyWorld..." */
        Pfad = s.replace("C:\\Dokumente und Einstellungen\\%USER%\\Desktop\\file:\\","");
		/* Für %USER% musst Du den Namen angeben, unter 
		dem Du Windows startest, also mit dem Dein Benutzer-
		profil geladen wird. 
		Falls aus irgendeinem Grund eine Fehlermeldung auftaucht, 
		in der "nicht vorhandene Pfade" genannt werden, 
		musst Du diesen falschen Pfad hier eintragen und durch 
		den richtigen ersetzen lassen (replace). 
		Denk aber an die doppelten Backslashs. */
        REF = Pfad
	}

function beginn()
	{
	st.run(openas + Referenz);
	}

</SCRIPT>
</html>

Manipulation der Registry

Nach oben
Nachfolgend siehst Du, welche Informationen in die Registrierdatenbank einzutragen sind, um die Funktion einzubinden.
Die hier angegebenen Pfade gelten für beide Versionen des Internet Explorers, hier war Microsoft mal sehr benutzerfreundlich...
Markiere den Absatz (mit den in System-Schriftart dargestellten Zeichen) und drücke die Tastenkombination STRG-c (das entspricht dem Befehl "Kopieren" im Kontextmenü der rechten Maustaste bzw. im Programm-Menü "Bearbeiten"). Nun startest Du ein Editorprogramm Deiner Wahl (beispielsweise Notepad) und öffnest ein neues Dokument. Füge nun per Menübefehl ("Bearbeiten / Einfügen" bzw. "Edit / Paste") die Daten aus der Zwischenablage in das Dokument ein und speichere die Datei unter beliebigem Namen, jedoch mit der Endung .reg. Merk Dir den Speicherort und wechsle in Deinem Dateimanager (beispielsweise Explorer) in den jeweiligen Ordner. Klick die neu angelegte Registrierungsdatei mit der rechten Maustaste an und wähle aus dem Kontextmenü den Befehl "Zusammenführen". Wenn anschließend die positive Rückmeldung über die Eintragung in die Registrierdatenbank erscheint, bestätige diese    der erste Schritt ist geschafft.

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Open Object with...]
@="C:\\Windows\\Web\\SrcOpenAs.htm"
"contexts"=hex:13

Die Registrierungsdatei legt zunächst den Schlüssel "MenuExt" an, falls er noch nicht existiert. "MenuExt" bedeutet "Menu Extensions" und heißt zu deutsch "Menü-Erweiterungen". Hier kann der Internet Explorer durch "Plug-Ins" (ich nenne das mal so) um nützliche Funktionen erweitert werden.
Der zweite Schlüssel benennt den später erscheinenden Menüpunkt. Sein Standardwert zeigt auf das HTML-Dokument, in dem ein Skript mit den gewünschten Funktionen eingebettet ist. Wenn Du die Datei unter einem anderen Namen speicherst, kannst Du diesen Standardwert manuell in der Registry ändern.
Der Wert der Zeichenfolge "contexts" legt fest, in welchen Kontextmenüs der Befehl "Open Object with..." erscheinen soll.

• Der Wert 01 steht für das Kontextmenü einer Seite bzw. eines Frames; er ist also per Rechtsklick auf den Seitenkörper erreichbar. Somit kannst Du den Quelltext einer angezeigten Webseite in einem auf Deinem Computer installierten Programm ansehen, bearbeiten und unter Achtung der Copyrights © für Dich selbst nutzen.
• Der Wert 02 steht für Bilder, die per <IMG>-Tag in einer Website eingebaut sind. Der Menübefehl ist nicht verfügbar bei Bildern, die als background=""-Attribute von HTML-Tags festgelegt sind.
• Der Wert 10 steht für "Auswahl", also für Text innerhalb einer Webseite, der mit Hilfe der Maus markiert wurde (zum Beispiel auch Pfadangaben, die nicht verlinkt sind - und für genau diese soll der Befehl zur Verfügung gestellt werden).
• Addiert man die Werte beliebig, so wird der einzubauende Befehl im jeweiligen Kontextmenü erscheinen. Der von mir vorgegebene Wert 13 stellt demnach den Befehl in den Kontextmenüs von Frames, <IMG>-Bildern und Markierungen bereit.

Ich bin mir sicher, dass die hier beschriebene Funktion auch unter anderen Windows- und IE-Versionen funktionieren würde, wenn man nur den Code entsprechend umstellt. Wer hier etwas Ahnung auf diesem Gebiet hat, kann das gern probieren und mir die Vorgehensweise schildern. Ich wäre auch gern bereit zu helfen.

© Skycle 2002. webmaster@skycle.de

Dieses Dokument ausdrucken...

Empfehlenswerte Webseiten und auserlesene Stichpunkte: