über mich
mein motto
kontakte mich (())

Visual C# 2008 - Das Videotraining von Lars Keller

followme

Get your 'feeds' on Follow me on Twitter Currently no podcasts available

recentcomments

Comment RSS

community

VSTO Taskforce Just Community .NET Developer Group Braunschweig

IE AddOn - Make URL as Tinyurl

29. September 2008 | Allgemein | Freeware | Scripting 0

Inspiriert von dem Twitter Client "twhirl", habe ich mir ein kleines IE Addon geschrieben, welches eine URL in eine TinyUrl verwandelt.

Beispiel: Aus http://www.netcreate.de/de_home.net wird http://is.gd/3hc4

Das Addon wird per Rechtsklick (Kontextmenü) auf das Browserfenster ausgeführt.

Make URL as Tinyurl

Danach wird folgendes Skript ausgeführt:

<script type="text/javascript" defer>
	try
	{
		var win = window.external.menuArguments;
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		
		xmlhttp.open('GET', 'http://is.gd/api.php?longurl=' + external.menuArguments.document.URL);
		xmlhttp.onreadystatechange = handleStateChange;
		xmlhttp.send(null);
			
		function handleStateChange()
		{
			win.clipboardData.clearData();		
			if (xmlhttp.readyState == 4)
			{
				alert('URL converted to: ' + xmlhttp.responseText);
				win.clipboardData.setData("Text",xmlhttp.responseText);
				xmlhttp.abort();
				xmlhttp = null;
			}
			
		}
	}
	catch(ex)
	{
		alert("tinyurl.js - An Exception occured: " + ex.message);
	}
</script>

Damit das Addon im Kontextmenü des Browsers angezeigt wird, muss folgendes RegFile ausgeführt werden:

Windows Registry Editor Version 5.00

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

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&Make URL as Tinyurl]
@="C:\\Tools\\IE\\tinyurl.js"

Download der beiden Files: hier

Known Issues:

  • Ab und zu geht der Aufruf nur jedes zweite Mal. Das xmlhttp.readyState ist plötzlich null, warum das so ist kann ich nicht genau sagen.

Links:

IE Erweiterung &quot;Link Senden&quot;

26. Februar 2008 | Tools | Allgemein | Scripting 0

Heute Morgen habe ich auf das "versteckte" IE Feature "Send Link by E-mail" aufmerksam gemacht. Nach einer kurzen IM Unterhaltung haben Alex und ich eine kleine IE Kontextmenü-Erweiterung geschrieben, welche das Verschicken einer Webseite per E-Mail auf einen Klick reduziert (vom Verschicken der E-Mail abgesehen ;-)).

Einfach irgendwo auf das Browsertab mit dem rechten Mausbutton klicken und im Kontextmenü "Link senden" auswählen.

link_senden

Danach öffnet sich der Standard-E-Mail-Client, bei mir Outlook 2007.

link_senden_ol2

Als Betreff [1] wird der Title der angeklickten Webseite angegeben und bei [2] erscheint die URL.

Alles was dazu benötigt wird, ist dieses kurze JavaScript:

sendlink.js - Copy Code
1 <script type="text/javascript" defer> 2 try 3 { 4 var win = window.external.menuArguments; 5 var shell = new ActiveXObject("Shell.Application"); 6 shell.ShellExecute("mailto:?Subject=" + win.document.title 7 + "&Body=" + external.menuArguments.document.URL); 8 } 9 catch(ex) 10 { 11 alert("sendlink.js - An Exception occured: " + ex.message); 12 } 13 </script>

Damit das Ganze im IE Kontextmenü angezeigt wird, muss folgendes Regfile ausgeführt werden:

Regfile - Copy Code
1 Windows Registry Editor Version 5.00 2 3 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt] 4 5 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Link &senden] 6 @="C:\\Coding\\sendlink.js"

Das Regfile muss an die eigene Verzeichnisstruktur angepasst werden.

Viel Spaß beim Verschicken! :-)

Hier sind beide Dateien als Zip zum Download.

Emailversand bei geringer Festplattenkapazität

23. April 2007 | Scripting 3

Nicki hat mich gefragt, ob ich eine Lösung für folgendes Problem hätte. Er wollte, dass ein regelmäßiger Task seine Festplattenkapazität abfragt und bei einer Unterschreitung eines Schwellwertes eine Warnung per Email verschickt wird.

Die Lösung des Problems besteht aus folgenden Punkten:

  1. einem VBS-Skript, welches die Festplattenkapazität abfragt und ggf. eine Warnmeldung generiert
  2. einer Batch-Datei, welche das VBS Skript aufruft und danach mit Blat ggf. eine Mail verschickt.
  3. dem SMTP Tool Blat.exe zum Verschicken der Email

Das VBS-Skript sieht folgendermaßen aus:

Option Explicit Dim objfs, drive, FreierSpeicher, message Set objfs = CreateObject("Scripting.FileSystemObject") Set Drive = objfs.GetDrive("C:\") FreierSpeicher = Drive.FreeSpace message = "Achtung die Festplatte ist bald voll!" ' 2000 = 2 GB If (FormatNumber(FreierSpeicher/1024^2,2) < 2000) then WScript.Echo message WScript.Quit(1) else 'WScript.Echo "test" WScript.Quit(0) end if

Bei dem Skript muss nur die Message und der Wert, ab wann eine Warnung verschickt werden soll, angepasst werden. In dem Beispiel oben wird eine Warnung generiert, wenn  2 GB (2000) unterschritten sind.

Die Batch-Datei, die die Email verschicken soll, sieht wie folgt aus:

@echo off rem Blat muss angepasst werden, die IP des SMTP Servers, so wie die richtige Emailadresse, Subject cscript //nologo festpl.vbs > mail.txt && goto exit blat -installSMTP localhost servername@domane.de blat mail.txt -to admin@domane.de -s "Festplattenkapazitaet Warnung" :exit echo "Es wurde keine Email verschickt"

Die Batch ruft das VBS Skript auf und erstellt die mail.txt. Das VBS Skript gibt 0 oder 1 zurück. Wenn es 0 zurück gibt, bedeutet das, dass keine Warnung verschickt werden muss und die Batch springt zum Exit Blog. Bei einer 1 erfolgt das Verschicken einer Email mit Blat.

Blat.exe ist ein Open Source Tool, mit dem man Emails verschicken kann. Evtl. fragt sich der eine oder andere Leser, warum ich das nicht direkt in dem VBS Skript erledigt habe. Da man aber nicht wissen kann, auf welchem Host-System das Skript laufen soll und welche Mail-Komponenten auf diesem zur Verfügung stehen (CDO etc.), benutze ich bei sowas gern Blat. Blat muss nur einmal konfiguriert werden, entweder macht man das einmal für das System oder es wird wie in der Batch beschrieben, bei jedem Aufruf konfiguriert.

In der Batch muss die IP des SMTP angegeben werden, die Email über die verschickt werden soll und der Adressat, an den die Warnung verschickt werden soll. Weitere Infos zu Blat findet man hier.

Batch & VBS: Festplattenkapazitaetencheck.zip (35,55 KB)