ActiveX – definition och funktion för DLL-kontroller

ActiveX – definition och funktion för DLL-kontroller. Lär dig vad ActiveX är, hur DLL-kontroller fungerar och praktiska exempel på användning i Windows för delning av resurser och data.

Författare: Leandro Alegsa

ActiveX är en teknik från Microsoft för att skapa återanvändbara programkomponenter baserade på COM (Component Object Model). En ActiveX-kontroll är i praktiken en COM-komponent som ofta levereras som en DLL eller som en fil med tillägget .ocx. Dessa kontroller kan bäddas in i Windows-program och i äldre webbläsare (främst Internet Explorer) för att tillhandahålla interaktiv funktionalitet, t.ex. visning av specialinnehåll, filhantering eller åtkomst till lokala resurser.

ActiveX och DLL

En DLL (Dynamic-link library) är en fil som innehåller kod och resurser som flera program kan dela. ActiveX-kontroller implementeras ofta som DLL-filer som exponerar COM-gränssnitt (t.ex. IUnknown och andra standardgränssnitt). För att operativsystemet ska kunna använda en ActiveX-kontroll måste den vanligtvis registreras i systemet (t.ex. med verktyget regsvr32), så att klass-ID (CLSID) och klassfabriker blir tillgängliga för klientprogram.

Resurs-DLL och exempel

Alla datafiler i Microsoft Windows som använder samma filformat som ett Dynamic-link-bibliotek kan kallas resurs-DLL. Dessa innehåller ofta enbart resurser (ikoner, typsnitt, strängtabeller) snarare än exekverbar kod. Vanliga exempel är:

  • Ikonbibliotek, ibland med filändelsen .icl.
  • Typsnittsrelaterade filer, t.ex. .fon och .fot.

Det är viktigt att skilja på en resurs-DLL (som främst innehåller grafiska eller språkliga resurser) och en ActiveX-kontroll (som innehåller kod som kan köras via COM). En ActiveX-kontroll kan dock också innehålla resurser såsom ikoner eller dialoger.

Installation och registrering

  • ActiveX-kontroller installeras ofta genom att kopiera filen (DLL/OCX) till en lämplig mapp och registrera den i Windows-registret med regsvr32 eller genom en installationsprogramvara som sköter registreringen automatiskt.
  • Registreringen skapar poster i registret som gör kontrollens CLSID och ProgID tillgängliga för andra program.
  • Det finns skillnader mellan 32- och 64-bitarskontroller: en 64-bitars ActiveX-kontroll måste registreras i ett 64-bitars register och används endast av 64-bitarsprocesser.

Säkerhet och modern status

ActiveX har historiskt varit kopplat till säkerhetsproblem eftersom kontroller har kunnat få starka rättigheter på klientdatorer och därmed utnyttjas av skadlig kod. För att minska riskerna har Microsoft infört mekanismer som signering av kontroller, ”safe for scripting”-flaggan, och så kallade killbits för att blockera specifika kontroller. Webbläsare har även haft inställningar för att tillåta eller blockera ActiveX-kontroller.

I modern tid har ActiveX-användningen kraftigt minskat: många webbläsare (t.ex. Chrome och Firefox) stödjer inte ActiveX och även Microsoft Edge i sin Chromium-baserade version har tagit bort stöd, förutom möjligheten att köra Internet Explorer-läget i företagsmiljöer. För nya projekt rekommenderas istället moderna lösningar som webbstandarder (HTML5, JavaScript), .NET-komponenter eller plattformsoberoende tekniker.

Praktiska tips

  • Kontrollera alltid källan innan du installerar en ActiveX-kontroll och välj signerade komponenter från betrodda leverantörer.
  • Använd sandlåda eller restriktiva säkerhetsinställningar i webbläsare där ActiveX måste användas.
  • Överväg att ersätta äldre ActiveX-baserade lösningar med moderna, säkrare alternativ när det är möjligt.


Sök
AlegsaOnline.com - 2020 / 2025 - License CC3