ACTIVEX和OCX控件传递字符串给网页上的JS

第一步:

KSDLL2.idl文件中

	dispinterface _DKSDLL2
	{
		properties:
		methods:
			[id(1)] void CheckIt();
			[id(2)] BSTR GetIt();
	};

第二步:

KSDLL2Ctrl.h文件中

protected:
	void CheckIt(void);
	BSTR GetIt();

第三步:

KSDLL2Ctrl.cpp文件中

// 调度映射

BEGIN_DISPATCH_MAP(CKSDLL2Ctrl, COleControl)
	DISP_FUNCTION_ID(CKSDLL2Ctrl, "CheckIt", dispidCheckIt, CheckIt, VT_EMPTY, VTS_NONE)
	DISP_FUNCTION_ID(CKSDLL2Ctrl, "GetIt", dispidGetIt, GetIt, VT_BSTR, VTS_NONE)
END_DISPATCH_MAP()

第四步:

KSDLL2Ctrl.cpp文件中

BSTR CKSDLL2Ctrl::GetIt()
{
	CString  strmac;
    strmac="12345123451234512345";
    return strmac.AllocSysString();
}

第五步:

html文件中

 var obj = document.getElementById("Object1");
                var result = obj.GetIt();
                alert(result);

 

时间: 2024-08-02 22:45:28

ACTIVEX和OCX控件传递字符串给网页上的JS的相关文章

vc++写一个OCX控件 怎么打印当前网页

问题描述 vc++写一个OCX控件 怎么打印当前网页 vc++写一个OCX控件 怎么打印当前网页 应该怎么样实现? 解决方案 网页通过脚本语言可以调用控件的方法和属性, 同时网页可以接收控件抛出的事件, 但控件不能反过来调用网页的函数, 网页与控件之间的交互就是通过网页调用控件的方法和属性来实现的 解决方案二: http://www.cnblogs.com/batman425/archive/2013/04/18/3028670.html

activex控件练习,实现在网页上读取一个文档中的内容但是无法实现

问题描述 activex控件练习,实现在网页上读取一个文档中的内容但是无法实现 char CTest_01Ctrl::Readfile(char* pathname) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO: Add your dispatch handler code herechar a[100]; char a[100]; char str; //char s[80]; int i=0; ifstream infile;

JS实现OCX控件的事件响应示例

 JS支持OCX控件的事件(event),当OCX控件定义的事件发生时,JS可以捕获该事件并对事件进行相应的处理. 个人理解,其实就是事件的响应由谁来完成,OCX控件自身肯定是可以实现的,JS提供的这种机制使JS也可以完成OCX控件事件的响应. 简单举例如下: 首先在OCX控件中添加自定义事件(预定义事件同理,如鼠标点击等,没亲自试,感觉原理应该是一样的), 事件应该是属于窗口的,所以在Ctrl类上单击右键,Add->Add Event,如下图: 在打开的对话框中输入事件名称,例如OnChang

JS实现OCX控件的事件响应示例_javascript技巧

JS支持OCX控件的事件(event),当OCX控件定义的事件发生时,JS可以捕获该事件并对事件进行相应的处理. 个人理解,其实就是事件的响应由谁来完成,OCX控件自身肯定是可以实现的,JS提供的这种机制使JS也可以完成OCX控件事件的响应. 简单举例如下: 首先在OCX控件中添加自定义事件(预定义事件同理,如鼠标点击等,没亲自试,感觉原理应该是一样的), 事件应该是属于窗口的,所以在Ctrl类上单击右键,Add->Add Event,如下图: 在打开的对话框中输入事件名称,例如OnChange

activex-请教一个OCX控件的问题

问题描述 请教一个OCX控件的问题 如果机子上不安装REALPLAYER的话 VC++的MFC的ACTIVE控件里面就不会有REALPLAYER 那请问下这两者有什么关系吗?VC里面的ACTIVE控件里面的REALPLAYER是 REALPLAYER提供的吗? 还是VC自身提供的,只不过没安装REALPLAYER不显示而已? 解决方案 com组件,xuyaoregsvr32注册到系统上,这样程序才能调用 解决方案二: realplayer为系统提供编码器,这样windows media play

VC6.0从开发activex ocx控件到发布到网上全过程

ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行.控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件. 一:vc创建activex控件 创建一个activex控件,名称为:test.ocx,创建步骤略.显示结果如下: 为该控件增加一个方法void GetStr(LPCTSTR str), 该方法内部代码如下: 这样,GetStr方法就被加入

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们.) ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行.控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件.这里控件容器就是

在HTM中引用VB6的OCX控件

控件 VB6可以很方便的编写OCX控件及DLL组件,要在网站中使用DLL组件的使用很简单,直接在ASP中使用Server.CreateObject("工程名.组件名")可以在服务器端调用该组件.而OCX使用则因为需要下载到客户端而变得复杂些,以下是我的一些经验: OCX打包成internet包:启运打包程序:菜单"外接程序"->"外接程序管理器"->启用"打包和展开向导"开始打包:菜单"外接程序"

VISUAL C++中的OCX控件的使用方法

新一代32位操作系统WINDOWS 95舍弃了VBX控件,取而代之的是OCX控件.OCX控件具有功能强大,界面美观的特点,然而许多参考书中并没有详细阐述OCX控件的使用方法,使得一些如数据库表格,远程数据控件等接口复杂的OCX难于使用.这里将详细阐述OCX的使用方法. 首先提醒读者要注意的是:使用OCX构件之前,必须登记注册,否则不能使用.安装VISUAL C++时,系统自动注册登记软件附带的OCX控件.如果不幸没有登记,那么请使用REGSVR32应用程序来注册.以VISUAL C++ 5.0为