用vc++对ie进行修改操作
2008-12-22 19:40:01 来源:WEB开发网接下来的工作是添加一个COM对象类。虽然我们用AppWizard创建了应用框架,但是还没有真正的创建COM对象,按照下面的步骤为工程添加一个自动化对象选择菜单View->ClassWizard打开类向导。
点击Add Class按钮,选择New命令。
在弹出的New Class对话框的Name中输入类名CIEcontext,在Base class选择框中我们选择CCmdTarget,在对话框的下部我们选中Creatable by type ID,如图7所示。最后单击”OK“按钮,这样CIEcontext创建完成了,并且在类CIEcontext中实现了IIEcontext接口。
下面我们要做的就是添加一个方法真正来实现这个接口,让它来完成打开Test.exe的功能,步骤如下打开ClassWizard.
选中Automation选项页。
在Class name字段中选中CIEcontext.
单击Add Methord按钮,弹出Add Methord对话框。
在External Name中输入AddContext,选择Return type类型为void,因为我们不需要返回什么特别的值,也不需要参数,所以在参数列表中也不需要添加参数。
单击”OK“按钮,关闭Add Methord对话框。
关键的一步就是要实现AddContext方法。因为我们要在脚本中访问该方法,而且只访问该方法就可以了,所以要添加的代码极其简单--只有一句代码,就是打开我们的程序Test.Exe,代码如下,现在对这个方法进行一些说明。该方法调用了WinExec()函数,目的是运行我们自己的程序。可以看出,该API有两个参数:一个是程序的完整路径和文件名,另一个参数是打开程序的方式。不过要说明一点,以这种绝对路径打开程序的方式不是很科学,实际应用中,事先应该把程序的路径写入注册表,然后在程序中读取注册表中的信息。
我们的一个支持自动化的COM组件已经建成了,就这么简单。编译通过后,你会发现在工程的Debug目录下会产生两个特别的文件:AddIeFun.dll和AddIeFun.tlb,它们就是编译后产生的库文件。不过,要让用户能在程序中使用它们,首先必须对该组件进行注册。直接运行RegSvr32.Exe虽然简单,但是在VC++的集成环境中点击Tools菜单的Register Control更方便。注册成功的话,会弹出一个消息框,如图8所示现在,我们大部分任务已经完成了,剩下就是修改MySelf.htm文件,代码如下错误好了,现在你可以放心大胆的使用你的程序了!
更多精彩
赞助商链接