Questo breve articolo illustra il sistema per agganciare una dll semplice a explorer e poi richiamarla da un javascript di una pagina web.

Aprire un nuovo progetto vuoto dentro a visual c#


listato c#:

using System;
using System.Runtime.InteropServices;
namespace testx
{

  public interface Atestx
  {
    string FName();
  }

  [ClassInterface(ClassInterfaceType.AutoDual)]
  public class test :Atestx
  {
    public string FName()
    {
      return "ActiveX avviato!!";
    }
  }
}

Tutto molto semplice in pratica ci si avvale di un'interfaccia che viene instanziata in una classe ad hoc.
Attenzione di referenziare il System.Runtime.InteropServices

Ora che abbiamo il nostro active x procediamo cosi:

Nella directory c:\windows\Microsoft.Net\framework
avete le cartelle con le versioni del .NET
controllate la versione che avete del .NET 2, io per esempio ho la v2.0.50727 quindi

copiatevi il file con il listato in c:\ esempio io l'ho chiamato testx.cs

aprite il cmd (start/esegui/cmd)

tramite le istruzioni cd o chdir spostatevi nella cartella
c:\windows\Microsoft.NET\framwork\v2.0.50727 (o quella che avete voi come versione)
quindi scrivete

csc /t:library c:\testx.cs

Il sorgente viene compilato.
Ora dovete registrare la dll

regasm testx.dll /tlb /codebase

il gioco e' fatto ora e' agganciata a explorer come activex
ed ecco come testare il tutto, create uan pagina web con questo codice:

<html>
<head>
  <script language="javascript">
    <!-- Load the ActiveX object  -->
    var x = new ActiveXObject("testx.test");
    alert(x.FName());
  </script>
</head>
<body>
</body>
</html>

lanciate la pagina, abilitate la richiesta di attivazione activex et volià activex fatto!!

Ora divertitevi.... :)

ciao