win7下IE调用ActiveX的Hello World(VS2008)
来源:互联网 发布:精雕软件社区 编辑:程序博客网 时间:2024/06/04 19:41
IE调用ActiveX已经不是什么新鲜事了,但是Hello World版本是什么样的呢?参考如下步骤即可。本人的测试环境VS2008 SP1(英文版),Win7,IE 8。
1. 创建ATL工程HelloActiveX
选择菜单File->New->Project,然后选择Virtual C++->ATL->ATL Project,
Name内输入HelloActiveX
Location内输入D:/
选择OK,进入ATL Project Wizard对话框
在左上角选择Application Settings,勾选Allow merging of proxy/stub code,其它默认
选择Finish按钮
2. 添加CFoo对象
选择菜单View->Class View,切换到类视图
在HelloActiveX上右键,选择Add->Class,弹出Add Class对话框
左边的Categories中选择Visual C++->ATL,然后右边选择ATL Simple Object,选择右下角按钮Add,弹出对话框ATL Simple Object Wizard
左边选择Names,右边的Short name内输入Foo,其它文本框内会自动填上,不用管它
选择Finish按钮,则在类视图上添加CFoo类和IFoo接口
在IFoo上右键,选择Add->Add Method,弹出Add Method Wizard对话框
Method name内输入GetValue
Parameter type内输入LONG*,Parameter name内输入value,Parameter attributes内只勾选retval
选择Add按钮,会添加一个参数,选择Finish按钮,则在IFoo接口内添加函数GetValue
在Class View类视图里选择CFoo,下面会列出成员函数名
双击GetValue函数,会切换到GetValue函数的定义处
在return S_OK;语句上面添加语句*value = 123456;
3. 编译HelloActiveX
按F7或者选择菜单Build->Build Solution编译HelloActiveX工程,编译生成D:/HelloActiveX/Debug/HelloActiveX.dll,同时会报注册HelloActiveX.dll出错,原因是注册HelloActiveX.dll需要权限,需要手动注册
选择屏幕左下角的windows开始按钮,输入cmd,会列出查找到的文件
在cmd.exe上点右键,选择“以管理员身份运行”,在弹出的对话框上选“是”
在命令行内输入regsvr32.exe D:/HelloActiveX/Debug/HelloActiveX.dll,会提示注册成功
4. 在IE中使用HelloActiveX.dll
在D:/下新建文件testhelloactivex.html,输入如下代码,在IE中运行,需要手动允许ActiveX控件运行,会弹出结果提示框。
<HTML><HEAD><TITLE>Test HelloActiveX</TITLE></HEAD><BODY>Hello, ActiveX!<script language="javascript">
function init() {
var foo = null;try {
// 此处注意不是"HelloActiveX.CFoo"
// 具体参考Resource Files->Foo.rgs文件
foo = new ActiveXObject("HelloActiveX.Foo");} catch (e) {
window.alert("new ActiveXObject failed.");
return;
}if (foo == null) {window.alert("foo is null.");
return;
}var val = null;try {
val = foo.GetValue();} catch (e) {
window.alert("foo.GetValue() failed.");
return;
}if (val == null) {window.alert("val is null.");
return;
}window.alert("foo.GetValue() is : " + val);
}init();</script></BODY></HTML>
上面简单的介绍了ActiveX的hello world,以及如何在IE中调用。Hello World是一个好的开始,谁说不是呢。
- win7下IE调用ActiveX的Hello World(VS2008)
- vs2008 下使用ICE 的Hello world 程序
- win7 下 bochs 运行 Hello World OS
- 在IE下 调试ATL MFC ActiveX控件VS2008
- ICE初步----VS2008下的安装及实现hello world简单例子
- 使用vs2008调试win7 64位下activex控件
- Linux 下的“Hello world!”
- Linux下的“Hello world!”
- Win7下IE 8内存保护可能导致ActiveX无法安装的问题及其解决方法
- 基于ATL开发ActiveX控件(第一节,简单的Hello world)
- 基于ATL开发ActiveX控件(第一节,简单的Hello world)
- Win7下的vs2008破解
- win7 下搭建Go运行环境, 首例hello,world
- IE下ActiveX控件的激活
- 第一个MFC程序“Hello, World!”(vs2008)
- linux(ubuntu)下的第一个程序 hello world
- .NET CORE实践(1)--Ubuntu下的Hello World
- WIN下创建ActiveX(语言C++)。在IE浏览器调用。
- hql总汇
- mapreduce编程(一)-二次排序
- JS添加,删除Table行
- 关于访问局域网里Guest密码为空的电脑还需要输入密码的解决方法
- 自定义地址栏协议
- win7下IE调用ActiveX的Hello World(VS2008)
- JavaEE经典试题(二) EJB各种bean简介
- Windows 设置了文件夹共享,删除默认Everyone共享,设置其他用户共享之后打不开的问题
- 编写Linux/Unix守护进程
- #与ifdef之间有空格
- 用oFono来GPRS上网
- 常用的MRP元素(MRP elements)缩写如下:
- 如何用Delphi做外挂初级版
- 在VS.NET中引用owc组件步骤