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
Stößt Du im Web häufig auf interessant gestaltete
Seiten?
Dann lad Dir doch einzelne Elemente der Seite in Deine Lieblingsprogramme!
Die entsprechende Funktion baust Du Dir einfach selbst.
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.
<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>
<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>
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
Empfehlenswerte Webseiten und auserlesene Stichpunkte: