网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
关于Windows中ActiveX控件注册
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
ield怎样制作一个完整的Setup不在本文讨论范围之中,请读者自己参看有关书籍。

   三、 在应用程序中加入注册代码

   对于小型程序不宜采取第二种方法,较好的方法是在程序中嵌入注册代码,实现应用程序自注册。其编程方法是:

   1. 使用Windows API函数LoadLibrary载入ActiveX控件;

   2. 使用GetProcAddress函数获取ActiveX控件中注册函数DllRegisterServer(注销函数为DllUnregisterServer)指针;

   3. 调用注册函数DllRegisterServer(或注销函数DllUnregisterServer)。

   下面以VC++ 6.0编写的RegActivex程序为例,介绍怎样在程序中自动注册(注销)ActiveX控件。RegActivex的主体框架由VC++ 6.0的AppWizard自动产生,在其基础上增加两个菜单项:“注册ActiveX控件”、“注销ActiveX控件”。当选择“注册ActiveX控件”菜单时,将对控件toweratl.ocx(一个汉诺游戏)进行注册;当选择“注销ActiveX控件”菜单时,将解除控件toweratl.ocx的注册。

   1. 使用VC++ 6.0建立一个单文档的应用程序RegActivex,其他项目接受默认设置;

   2. 给应用程序增加两个菜单项:“注册ActiveX控件”、“注销ActiveX控件”,步骤如下:

   ① 单击VC++ 6.0左边窗口的“ResoureView”,双击MENU项目下的IDR_MAINFRAME以打开菜单编辑器;

   ② 在菜单编辑器中,加入一个主菜单“注册”,在“注册”主菜单下加入两个菜单项:“注册ActiveX控件”、“注销ActiveX控件”;

   3. 给新建的菜单项 “注册ActiveX控件” 和“注销ActiveX控件”增加响应函数:

   ① 在资源编辑其中,双击MENU中的IDR_MAINFRAME打开菜单编辑器,单击“注册ActiveX控件”,按Ctrl+W打开MFC Class Wizard;

   ② 双击Messages框中的COMMAND,给“注册ActiveX控件”菜单项增加响应函数OnRegisterReg(),单击右边“Edit”按钮给OnRegisterReg()函数增加如下代码:

void CMainFrame::OnRegisterReg()
  {
  //ActiveX控件的路径及文件名
  LPCTSTR pszDllName="toweratl.ocx";
        //装载ActiveX控件
  HINSTANCE hLib = LoadLibrary(pszDllName);
        if (hLib < (HINSTANCE)HINSTANCE_ERROR)
        {
                MessageBox("不能载入Dll文件!","结果",MB_OK);
                return;
        }
  //获取注册函数DllRegisterServer地址
        FARPROC lpDllEntryPoint;
        lpDllEntryPoint = GetProcAddress
(hLib,_T("DllRegisterServer"));
        //调用注册函数DllRegisterServer
if(lpDllEntryPoint!=NULL)
        {
                if(FAILED((*lpDllEntryPoint)()))
                {
MessageBox("调用DllRegisterServer
失败!","结果",MB_OK);
FreeLibrary(hLib);
return;
       

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号