Active-X学习笔记


3, ActiveX中的事件使用方法


4, 出现的问题整理

    1)在idl文件中有很多uuid, 在javascript中调用时使用的uuid是Class information for CXXXXCtrl中的uuid

     2)  从ActiveX向JavaScript端传递字符串时,需要使用SysAllocString。 如下

BSTR CMBSJCtrl::GetHelloWorld(void)
{
	//AfxMessageBox(_T("VC: Message"));
	return (BSTR)SysAllocString(_T("Test Hello"));
}

3) 调试的过程中出现如下错误:
The Breakpoint will not currently be hit. No symbols have been loaded for this document.
原因:ocx控件未注册,或者注册的位置上没有ocx控件或者是pdb文件。
4)每次编译后不能自动注册控件

手动在build event中追加 regsvr32 XXX.ocx文件名。


二、临时证书的制作及给cab包签名

 目前IE对ActiveX控件的限制已经相当严格,如果没有使用合法证书为自己的控件签名,那么无论你的控件功能多么强大,也将毫无用武之地。

      签名证书是需要购买的,而且价格不菲,但我们在开发过程中很可能需要模拟一个安全环境来测试控件,按照普通方法使用makecert命令生成的证书,其根证书是不被信任的,用它来对控件签名,其结果仍然是被IE拦截,因此正确的方法应该是分两步走:先产生自认证证书放入可信任的根证书机构中,然后由此证书颁发子证来对控件签名,具体方法如下:

      1. 在命令行中输入:

      makecert -n "CN=TempRoot" -r -sv TempRoot.pvk TempRoot.cer

      得到一个自认证证书TempRoot.cert,其密钥文件为TempRoot.pvk

      2. 在命令行中输入:

      makecert -sk TempCA -iv TempRoot.pvk -n "CN=TempCA" -ic TempRoot.cer TempCA.cer -sr currentuser -ss My



 

5. 一些参考资料

1 http://msdn.microsoft.com/en-us/library/aa751972%28VS.85%29.aspx MSDN官网介绍
2 http://www.cnblogs.com/beer/archive/2010/08/21/1805462.html 一个实例
3 http://mkdev-note.blogspot.jp/2012/11/visual-studio2012mfc-activex-1.html VS2012上的一个例子,用于网页中
4 http://www.cnblogs.com/qguohog/archive/2013/01/22/2871805.html 一个用于网页上的MFC 控件例子
5 http://arlon.iteye.com/blog/845775 VC++开发Activex控件以及签名发布

 6  http://www.cnblogs.com/carekee/articles/1772194.html  如何用Javascript捕获ActiveX对象的事件

7   http://blog.163.com/wslngcjsdxdr@126/blog/static/162196230201231855643426/     使用IE进行调试的方法

8  http://www.codeproject.com/Articles/14533/A-Complete-ActiveX-Web-Control-Tutorial     A Complete ActiveX Web Control Tutorial

http://support.microsoft.com/?scid=kb;en-us;157437&x=9&y=9   ActiveX的多线程事件实现方法(英语)

10 http://www.cnblogs.com/zdxster/archive/2011/01/27/1945868.html    VC++开发的ActiveX如何加入安全机制,避免IE中提示“在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗?”

11 http://support.microsoft.com/kb/161873/en-us    如何标记一个ActiveX控件是安全的。

12 http://msdn.microsoft.com/en-us/library/aa751974(v=vs.85).aspx    Packaging ActiveX Controls

13  ActiveX打包过程   http://blog.csdn.net/zhouyuqwert/article/details/7354180

14  ActiveX 打包及安装  英文 http://www.codeproject.com/Articles/22185/A-Complete-Scriptable-ActiveX-Web-Control-Tutorial


16 64位 ActiveX发布的问题 http://blog.csdn.net/yang79tao/article/details/7705754

17 http://support.microsoft.com/kb/167158/zh-cn   如何打包网页中的 MFC 控件

18 http://blog.163.com/chongfafeng@126/blog/static/777849382011311063567/  从VS2005下MFC开发Activex控件到web发布(三)微软代码证书签名及控件部署  

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/binglingshuang/article/details/16961607
个人分类: VC
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭