資源簡介
使用C#開發ActiveX控件(含示例教程)源碼
功能介紹:
ActiveX控件以前也叫做OLE控件,它是微軟IE支持的一種軟件組件或對象,可以將其插入到Web頁面中,實現在瀏覽器端執行動態程序功能,以增強瀏覽器端的動態處理能力。通常ActiveX控件都是用C++或VB語言開發,本文介紹另一種方式,在.NET Framework平臺上,使用C#語言開發ActiveX控件。
雖然本文通篇都在講如何使用C#語言開發ActiveX控件,但我并不極力推薦使用這種技術,因為該技術存在明顯的局限,即需要瀏覽器端安裝.NET Framework(版本取決于開發ActiveX控件使用的.NET Framework版本),該局限對于挑剔的互聯網用戶,幾乎是不可接受的。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
//www.51aspx.com
namespace?CSharpActiveX
{
????public?abstract?class?ActiveXControl?:?IobjectSafety
????{
????????#region?IobjectSafety?成員
????????private?const?string?_IID_IDispatch?=?“{00020400-0000-0000-C000-000000000046}“;
????????private?const?string?_IID_IDispatchEx?=?“{a6ef9860-c720-11d0-9337-00a0c90dcaa9}“;
????????private?const?string?_IID_IPersistStorage?=?“{0000010A-0000-0000-C000-000000000046}“;
????????private?const?string?_IID_IPersistStream?=?“{00000109-0000-0000-C000-000000000046}“;
????????private?const?string?_IID_IPersistPropertyBag?=?“{37D84F60-42CB-11CE-8135-00AA004BB851}“;
????????private?const?int?INTERFACESAFE_FOR_UNTRUSTED_CALLER?=?0x00000001;
????????private?const?int?INTERFACESAFE_FOR_UNTRUSTED_DATA?=?0x00000002;
????????private?const?int?S_OK?=?0;
????????private?const?int?E_FAIL?=?unchecked((int)0x80004005);
????????private?const?int?E_NOINTERFACE?=?unchecked((int)0x80004002);
????????private?bool?_fSafeForscripting?=?true;
????????private?bool?_fSafeForInitializing?=?true;
????????public?int?GetInterfaceSafetyOptions(ref?Guid?riid?ref?int?pdwSupportedOptions?ref?int?pdwEnabledOptions)
????????{
????????????int?Rslt?=?E_FAIL;
????????????string?strGUID?=?riid.ToString(“B“);
????????????pdwSupportedOptions?=?INTERFACESAFE_FOR_UNTRUSTED_CALLER?|?INTERFACESAFE_FOR_UNTRUSTED_DATA;
????????????switch?(strGUID)
????????????{
????????????????case?_IID_IDispatch:
????????????????case?_IID_IDispatchEx:
????????????????????Rslt?=?S_OK;
????????????????????pdwEnabledOptions?=?0;
????????????????????if?(_fSafeForscripting?==?true)
????????????????????????pdwEnabledOptions?=?INTERFACESAFE_FOR_UNTRUSTED_CALLER;
????????????????????break;
????????????????case?_IID_IPersistStorage:
????????????????case?_IID_IPersistStream:
????????????????case?_IID_IPersistPropertyBag:
????????????????????Rslt?=?S_OK;
????????????????????pdwEnabledOptions?=?0;
????????????????????if?(_fSafeForInitializing?==?true)
????????????????????????pdwEnabledOptions?=?INTERFACESAFE_FOR_UNTRUSTED_DATA;
????????????????????break;
????????????????default:
????????????????????Rslt?=?E_NOINTERFACE;
????????????????????break;
????????????}
????????????return?Rslt;
????????}
????????public?int?SetInterfaceSafetyOptions(ref?Guid?riid?int?dwOptionSetMask?int?dwEnabledOptions)
????????{
????????????int?Rslt?=?E_FAIL;
????????????string?strGUID?=?riid.ToString(“B“);
????????????switch?(strGUID)
????????????{
????????????????case?_IID_IDispatch:
????????????????case?_IID_IDispatchEx:
????????????????????if?(((dwEnabledOptions?&?dwOptionSetMask)?==?INTERFACESAFE_FOR_UNTRUSTED_CALLER)?&&
????????????????????????????(_fSafeForscripting?==?true))
????????????????????????Rslt?=?S_OK;
????????????????????break;
????????????????case?_IID_IPersistStorage:
????????????????case?_IID_IPersistStream:
????????????????case?_IID_IPersistP
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-06-28?12:55??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\
?????目錄???????????0??2013-06-26?09:15??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\
?????文件?????????873??2013-06-23?22:54??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\Apollo.cer
?????文件????????2590??2013-06-22?21:38??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\Apollo.pfx
?????文件?????????306??2013-06-22?15:29??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\cab.ddf
?????文件??????155673??2013-06-24?23:21??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\CSharpActiveX.CAB
?????文件??????441344??2013-06-24?23:19??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\CSharpActiveX.msi
?????文件?????????143??2013-06-23?23:21??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\installer.inf
?????文件??????????62??2013-06-23?16:17??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\makecab.bat
?????文件???????57344??2012-08-02?20:14??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\makecab.exe
?????文件?????????121??2013-06-23?16:09??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\makecabsigned.bat
?????文件??????237392??2010-05-04?13:14??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\signtool.exe
?????文件?????????433??2013-06-24?23:19??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CAB\test.htm
?????目錄???????????0??2013-06-26?09:15??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\
?????目錄???????????0??2013-06-26?09:15??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX.Setup\
?????文件???????31754??2013-06-24?23:19??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX.Setup\CSharpActiveX.Setup.vdproj
?????目錄???????????0??2013-06-26?09:28??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX.Setup\Debug\
?????目錄???????????0??2013-06-26?09:28??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX.Setup\Release\
?????文件????????1778??2013-06-24?23:00??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX.sln
?????文件????????3432??2013-06-26?09:26??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\ActiveXControl.cs
?????目錄???????????0??2013-06-26?09:15??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\bin\
?????目錄???????????0??2013-06-26?09:15??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\bin\Debug\
?????文件????????7168??2013-06-24?23:19??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\bin\Debug\CSharpActiveX.dll
?????文件???????13824??2013-06-24?23:19??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\bin\Debug\CSharpActiveX.pdb
?????目錄???????????0??2013-06-26?09:16??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\bin\Release\
?????文件????????7168??2013-06-26?09:27??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\bin\Release\CSharpActiveX.dll
?????文件???????15872??2013-06-26?09:27??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\bin\Release\CSharpActiveX.pdb
?????文件????????2263??2013-06-24?23:00??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\CSharpActiveX.csproj
?????文件?????????717??2013-06-26?09:27??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\Iob
?????文件?????????826??2013-06-26?09:26??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\MacActiveX.cs
?????目錄???????????0??2013-06-26?09:15??ActiveXTutorials_46a0bf76-3a8d-4ed3-8fbc-f0d196d6dbba\CSharpActiveX\obj\
............此處省略16個文件信息
- 上一篇:線性表基本運算的圖形模擬演示設計
- 下一篇:樹莓派opencv環境搭建
評論
共有 條評論