社区
ATL
帖子详情
我第一次做ActiveX,在网上找了好多帖子,实在搞不定啊,大家帮帮忙~~~~~
mars131
2006-09-14 04:16:57
写了一个简单的MFC ActiveX控件,现在用的测试安全证书,安全接口的代码也都加上去了。现在的情况是用VC7.1编译后自动会将控件注册,打开网页后是好的。我再把这个控件注销了以后,让它从IE安装,现在可以安装,但是安装完了以后显示一个小红叉,在ActiveX测试容器里面能看到这个控件名,打开时提示:未能创建控件,未指定的错误。
真的不知到再该怎么写了,郁闷~~~~
...全文
497
15
打赏
收藏
我第一次做ActiveX,在网上找了好多帖子,实在搞不定啊,大家帮帮忙~~~~~
写了一个简单的MFC ActiveX控件,现在用的测试安全证书,安全接口的代码也都加上去了。现在的情况是用VC7.1编译后自动会将控件注册,打开网页后是好的。我再把这个控件注销了以后,让它从IE安装,现在可以安装,但是安装完了以后显示一个小红叉,在ActiveX测试容器里面能看到这个控件名,打开时提示:未能创建控件,未指定的错误。 真的不知到再该怎么写了,郁闷~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuhan_0110
2006-09-20
打赏
举报
回复
to :zhucde(【風間苍月】) ( ) 信誉:272
你的页面我也打不开呀
??
wangweixing2000
2006-09-18
打赏
举报
回复
缺少IE的安全脚本的支持,很简单,在类厂注册的时候在你的注册表中加两个键值即可。
下面给出代码,回去爽一把吧!哈哈
const CATID CATID_SafeForScripting =
{0x7dd95801,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};
const CATID CATID_SafeForInitializing =
{0x7dd95802,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};
这段代码的值对应的项目里面的应该是什么啊?它上面讲的我不是很清楚啊
--〉这两个是要注册到你控件CLSID的下面的,IE是要去看你的CLSID下面有没有这两个KEY,如果没有,那么它认为是不安全的。
具体的代码如下:
// DllRegisterServer - 将项添加到系统注册表
STDAPI DllRegisterServer(void)
{
AFX_MANAGE_STATE(_afxModuleAddrThis);
//-------------------------------------------------------
if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
return ResultFromScode(SELFREG_E_TYPELIB);
if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
return ResultFromScode(SELFREG_E_CLASS);
if (FAILED( CreateComponentCategory(
CATID_SafeForScripting,
L"Controls that are safely scriptable") ))
return ResultFromScode(SELFREG_E_CLASS);
if (FAILED( CreateComponentCategory(
CATID_SafeForInitializing,
L"Controls safely initializable from persistent data") ))
return ResultFromScode(SELFREG_E_CLASS);
if (FAILED( RegisterCLSIDInCategory(
_ctlid, CATID_SafeForScripting) ))
return ResultFromScode(SELFREG_E_CLASS);
if (FAILED( RegisterCLSIDInCategory(
_ctlid, CATID_SafeForInitializing) ))
return ResultFromScode(SELFREG_E_CLASS);
//-------------------------------------------------------
//下面以前生成的代码,把它屏蔽掉!
/*if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
return ResultFromScode(SELFREG_E_TYPELIB);
if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
return ResultFromScode(SELFREG_E_CLASS);*/
return NOERROR;
}
comet
2006-09-18
打赏
举报
回复
漏了.lic文件
BOYGUARD110
2006-09-17
打赏
举报
回复
mark
zhucde
2006-09-15
打赏
举报
回复
http://www.bezier.com.cn/temp/vr
这个页面使用了我写的控件,如果你能使用,
就到http://www.bezier.com.cn上找我的联系方式吧
shepherds
2006-09-15
打赏
举报
回复
我的也是这个问题呀,头一回写ActiveX控件,控件是VS2005 MFC写的,代码中实现了自动注册、初始化安全和脚本安全,手动注册控件后,在本地浏览器可以打开,换另一台机子就是红“X”。如果注销控件后,本地浏览器也无法显示了。
以上控件我已经打成CAB包了,我怀疑是inf文件中的dll文件的版本问题,不知哪位高手愿意教我呀?我邮箱:shepherds@126.com,将源代码和我的CAB包发给你测试,感激不尽,请务必在测试成功后告诉我要怎么改正,谢谢谢谢谢谢.......
konj
2006-09-15
打赏
举报
回复
降低你的IE设置,如设置为信任的站点
写inf文件,然后用工具把它和你的ActiveX打成一个CAB包。
palmax
2006-09-14
打赏
举报
回复
用depends看下你的ocx依赖哪些dll,除去共享的dll,其他的都拷贝到system32下,然后重新注册
mars131
2006-09-14
打赏
举报
回复
我现在发现手动注册只有ocx文件在我的Release版本生成的文件夹里才能成功,如果我把ocx文件挪动的地方的话也是不能成功的。不知道是什么原因。
mars131
2006-09-14
打赏
举报
回复
上面的情况是在一台机子上测试的,其中有一种情况是可以使用的。所以在本机的时候是不是dll已经齐全的呢?
hjt28
2006-09-14
打赏
举报
回复
1,降低你的IE设置,如设置为信任的站点
2,要写inf文件,然后用工具把它和你的ActiveX打成一个CAB包。
palmax
2006-09-14
打赏
举报
回复
1.请检查你IE的安全设置
2.确保你网页形式发布时控件所需的dll已经齐全
mars131
2006-09-14
打赏
举报
回复
const CATID CATID_SafeForScripting =
{0x7dd95801,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};
const CATID CATID_SafeForInitializing =
{0x7dd95802,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}};
这段代码的值对应的项目里面的应该是什么啊?它上面讲的我不是很清楚啊
mars131
2006-09-14
打赏
举报
回复
安全接口的代码我是写了,编译可以通过,但不知道有没有成功
maoliao
2006-09-14
打赏
举报
回复
没有实现安全接口
http://support.microsoft.com/kb/161873/EN-US/
关于C#
做
activex
分享一个使用
ActiveX
进行报表制作的教学视频,此视频由作者的老师制作,旨在帮助大家更好地理解如何利用
ActiveX
来完成报表任务。相较于仅阅读代码,通过视频教程可以更直观地学习相关操作。
网页 Java script 调用MFC
ActiveX
ocx控件的函数并传参数给函数
本文介绍了如何在网页中使用JavaScript调用封装了摄像头SDK的MFC
ActiveX
OCX控件的函数,并传递参数。重点解决了MFC对外接口函数定义和参数类型匹配的问题,特别是字符串类型参数的处理,通过_BSTR_t类进行转换,实现跨语言的数据交互。
有关DevExpress弹出窗体控件与
ActiveX
遮挡冲突的几点体会
本文介绍了解决
ActiveX
插件与Web页面弹出窗口显示层级冲突的方法。通过设置DeveloperExpress控件ASPxPopupControl的RendererIFrameForPopupElements属性为True,使弹窗覆盖在
ActiveX
控件之上。
Matlab安装记录 - LED Control
Activex
控件安装
本文解决了在Win7 64-bit环境下Matlab 64-bit版本缺少LEDControl
ActiveX
控件的问题。通过安装Matlab 32-bit版本,并自定义安装包含GaugesBlockset模块的方式成功安装所需控件。
ATL
3,248
社区成员
48,530
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章