Link mit Titel in die Zwischenablage  
Frank Dzaebel, erstellt am: 22.9.2007, zuletzt geändert:  7.1.2008
Kategorie: JavaScript, .NET-Version: 2.0, [Download]

Die Lebensdauer von Links, die zum Beispiel in Newsgroups gepostet werden, wird immer geringer. Wäre ein Titel mit dem Link zusätzlich angegeben, so wäre ein späteres Wiederfinden ggf. toter Links deutlich einfacher, denn dann kann über Suchmaschinen der neue Link oft wiedergefunden werden. Hier eine Möglichkeit über erweiterte Internet Explorer Kontext-Menüs für beliebige Webseiten sowohl den Titel, als auch die URL in die Zwischenablage zu sichern.

Internet Explorer Menü, wenn auf eine beliebige Seite navigiert wird. Die Meldung, die in die Zwischenablage kopiert wurde.

Zur Installation downloaden Sie den LinkTitle-Ordner an eine bleibende Stelle und rufen Sie dort "Installation.exe" auf. Diese Exe ist ggf. mit dem Reflector prüfbar. Zu Vista interessant: "Installer Detection".

LinkTitle.js   (JavaScript-Datei, die vom Menü aufgerufen wird)
<script type="text/javascript">
  var oWindow = window.external.menuArguments;
  var text = "[" + oWindow.document.title + "]\r\n" +
     oWindow.location.href;
  oWindow.alert(text);
  clipboardData.setData("Text", text); 
</script>

Installation.exe   (C# Assembly zum Installieren der Registry-Einstellungen) 

string menuExt = "Software\\Microsoft\\Internet Explorer\\MenuExt\\";
private void btnInstallieren_Click(object sender, EventArgs e)
{
  string folder = Application.StartupPath;
  string file = "file://" + folder + "\\LinkTitle.js";
  using (RegistryKey regLinkTitle = Registry.CurrentUser.
    CreateSubKey(menuExt + txtMenuTitel.Text))
  {
    regLinkTitle.SetValue("Contexts", 1);
    regLinkTitle.SetValue("", file);
  }
  MessageBox.Show("erfolgreich installiert");
}

private void btnEntfernen_Click(object sender, EventArgs e)
{
  using (RegistryKey regLinkTitle = Registry.CurrentUser.
    CreateSubKey(menuExt))
  {
    regLinkTitle.DeleteSubKeyTree(txtMenuTitel.Text);
  }
  MessageBox.Show("Registrierungs-Einstellungen erfolgreich entfernt");
}

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
  Process.Start("http://Dzaebel.NET/LinkTitle.htm");
}