ActiveX
跳至導覽
跳至搜尋
ActiveX,參照:『維基百科~ActiveX』
技術文件
使用ActiveX
ASP
C++
C#
Java
JScript(IE限定)
PHP
PowerShell
Python
Tcl
VB6
VBA
VB.NET
VBScript
開發ActiveX
C++(MFC)
- ActiveX Controls | Microsoft Docs
- ActiveX Controls on the Internet | Microsoft Docs
- https://docs.microsoft.com/en-us/cpp/mfc/upgrading-an-existing-activex-control?view=msvc-160
- COM and ActiveX Debugging - Visual Studio (Windows) | Microsoft Docs
C#
- Create ActiveX in .NET Step by Step
- Create an ActiveX using a Csharp Usercontrol - CodeGuru
- 使用 .NET Framework 開發 ActiveX Control (1)–背景知識 - 小朱® 的技術隨手寫- 點部落
- 使用 .NET Framework 開發 ActiveX Control (2) - 使用 C# 開發 ActiveX 控制項 - 小朱® 的技術隨手寫- 點部落
- 使用 .NET Framework 開發 ActiveX Control (3) - 封裝,簽章與部署 - 小朱® 的技術隨手寫- 點部落
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 |
|
WinHttp.WinHttpRequest | 遠端網頁讀取 | WinHttp.WinHttpRequest | |
MSXML2.XMLHTTP | 遠端網頁讀取 | MSXML2.XMLHTTP |
|
MSXML2.DOMDocument | XML內容操作 | IXMLDOMDocument-DOMDocument | |
Schedule.Service | Windows工作排程 | Schedule.Service | |
Word.Application | Word | Word.Application |
|
Excel.Application | Excel | Excel.Application |
|
Outlook.Application | Outlook | Outlook.Application |
|
Access.Application | Access | Access.Application |
|
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
- 使用 oleview.exe 開啟副檔名為 dll 或 ocx 或 tlb 的檔案
- 在所開啟的.IDL內容裡有 library 名稱與其公開的 interface 的詳細宣告(通常繼承 IDispatch ),且library與interface的宣告前必會定義其 uuid
ActiveX封鎖相關
- ActiveX相容性旗標(The Kill-Bit),參照:『維基百科~Killbit』
- Microsoft KB240797 如何停止在 Internet Explorer 中執行的 ActiveX 控制項 - Microsoft Support
- Microsoft Technet: The Kill-Bit FAQ
- ActiveXFiltering
[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++專案裡使用
- 必須先使用CoInitialize function初始化COM的環境,結束應用程式時須使用CoUninitialize function
- 使用OleView.Exe產生該元件的 idl 檔並加入 C++的專案裡
在C#或VB.NET專案裡使用
- 專案加入該元件的參考,會自動產生該元件的操作介面的DLL檔在專案裡