ActiveX

出自ProgWiki
跳至導覽 跳至搜尋

ActiveX,參照:『維基百科~ActiveX

技術文件

使用ActiveX

ASP

C++

C#

Java

JScript(IE限定)

PHP

PowerShell

Python

Tcl

VB6

VBA

VB.NET

VBScript

開發ActiveX

C++(MFC)

C#

ActeveX元件

名稱 用途 技術文件 備註
Scripting.FileSystemObject 檔案操作 FileSystemObject Reference (Windows Scripting)
WScript.Shell Methods (Windows Script Host)
WbemScripting WMI Using the WMI Scripting Type Library
ADO 資料庫操作 ADODB: ActiveX Data Objects 2.1
  • 需先在Microsoft官網下載與安裝MDAC
WinHttp.WinHttpRequest 遠端網頁讀取 WinHttp.WinHttpRequest
MSXML2.XMLHTTP 遠端網頁讀取 MSXML2.XMLHTTP
  • 需先在Microsoft官網下載與安裝MDAC
MSXML2.DOMDocument XML內容操作 IXMLDOMDocument-DOMDocument
Schedule.Service Windows工作排程 Schedule.Service
Word.Application Word Word.Application
Excel.Application Excel Excel.Application
  • 需先購買Microsoft Office
Outlook.Application Outlook Outlook.Application
Access.Application Access Access.Application
  • 需先購買Microsoft Office
acroexch.app Adobe Acrobat Adobe® Acrobat® SDK - Interapplication Communication APIReference

相關工具

GUID產生器

  • 例如 Visual Studio 2022 Community 的 GuidGen.exe
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\GuidGen.exe
  • 或是使用PowerShell 去執行
[guid]::NewGuid()

OLE/COM Object檢視工具(OleView.Exe)

例如 Windows 10 SDK 2004 版 (10.0.19041.0)
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\oleview.exe
或
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\oleview.exe
但是會因為權限不夠,而無法註冊 iviewers.dll ,需用系統管理員身分執行過一次 oleview.exe

Microsoft-Cabinet-SDK

Microsoft ActiveX Control Pad

FAQ

如何判斷是否為ActiveX

  1. 使用 oleview.exe 開啟副檔名為 dll 或 ocx 或 tlb 的檔案
  2. 在所開啟的.IDL內容裡有 library 名稱與其公開的 interface 的詳細宣告(通常繼承 IDispatch ),且library與interface的宣告前必會定義其 uuid

ActiveX封鎖相關

  1. Microsoft KB240797 如何停止在 Internet Explorer 中執行的 ActiveX 控制項 - Microsoft Support
  2. Microsoft Technet: The Kill-Bit FAQ
  • ActiveXFiltering
  1. About ActiveX Filtering
  2. How to use Tracking Protection and ActiveX Filtering in Internet Explorer 9
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Safety\ActiveXFiltering]
"IsEnabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Safety\ActiveXFilterExceptions]
"test.com.tw"=dword:00000001

在C++專案裡使用

  1. 必須先使用CoInitialize function初始化COM的環境,結束應用程式時須使用CoUninitialize function
  2. 使用OleView.Exe產生該元件的 idl 檔並加入 C++的專案裡

在C#或VB.NET專案裡使用

  • 專案加入該元件的參考,會自動產生該元件的操作介面的DLL檔在專案裡

在ASP.NET裡使用