说道ActiveX,我的第一直觉就是Flash,利用ActiveX、我们可以创建丰富的可交互式应用程序。同时、利用ActiveX特性、我们可以实现Js 与 ActiveX 的无缝连接(包括数据共享、和 接口相互调用),借助ActiveX打破浏览器限制、进而实现更显更加强大的功能。

闲话少说、步入正题,看一下如何快速开发一个简单的密码登录框:

  1. 新建一个Windows应用程序项目
  2. 修改 项目属性——> 应用程序——> 输出类型,改为 “类库”。
  3. 修改 项目属性——> 应用程序——> 程序集信息——> 勾选 '使程序集COM可见'.
  4. 为了方便调试(正式发布、此步骤可以跳过),勾选 '项目属性——> 生成 ——> 为 COM 互操作 注册' 。
  5. 删除项目默认生成的 Form1 和 Program.cs,并新建 类型为 UserControl、名称为 PasswordControl 的控件。
  6. 为 PasswordControl 添加 Guid.
  7. 为 PasswordControl 添加 密码输入框,名称为 txtPwd。
  8. 为 PasswordControl 添加 GetPwd 公有方法,效果如下图:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Runtime.InteropServices; namespace TestActiveX
    { [Guid("30A3C1B8-9A9A-417A-9E87-80D0EE827658")]
    public partial class PasswordControl : UserControl
    {
    public PasswordControl()
    {
    InitializeComponent();
    } public string GetPwd()
    {
    return this.txtPwd.Text;
    }
    }
    }
  9. Js调用 ActiveX。
    <!DOCTYPE html>
    
    <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta charset="utf-8" />
    <title></title> <script language="javascript" type="text/javascript">
    function login() {
    console.info("密码:" + activieX.GetPwd());
    }
    </script>
    </head>
    <body>
    <div>
    <object width="350" height="100" id="activieX" classid="clsid:30A3C1B8-9A9A-417A-9E87-80D0EE827658">
    </object>
    </div>
    <input type="button" onclick="javascript: login();" value="登录" />
    </body>
    </html>
  10. 至此,一个简单的ActiveX就完成了。

测试项目源码:http://files.cnblogs.com/files/08shiyan/TestActiveX.zip

(未完待续...)

ActiveX(一)第一个简单的Demo的更多相关文章

  1. 第一个简单的DEMO

    一个联系人管理的DEMO,支持CURD 运行效果图: Controller的设计: 总结: Web API的Controller都继承自ApiController. Web API的Action的命名 ...

  2. MFC入门(一)-- 第一个简单的windows图形化界面小程序(打开计算器,记事本,查IP)

    ////////////////////////////////序//////////////////////////////// 大约三年前,学过一些简单的编程语言之后其实一直挺苦恼于所写的程序总是 ...

  3. C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo

    在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架 ...

  4. 留念 C语言第一课简单的计算器制作

    留念 C语言第一课简单的计算器制作 学C语言这么久了.  /* 留念 C语言第一课简单的计算器制作 */   #include<stdio.h>  #include<stdlib.h ...

  5. Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)

    然后是项目下的文件:完整的项目请看  上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...

  6. MEF简介及简单的Demo

    MEF简介及简单的Demo 文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门 ...

  7. 创建第一个简单的AI分类器

    from sklearn import tree# 第一个简单的分类器features = [[140, 1], [130, 1], [150, 0], [170, 0]] #列表左边的变量代表水果的 ...

  8. Spring源码学习:第1步--在Spring源码中添加最简单的Demo代码

    为了最大程度地贴近Spring源码并进行学习,一种比较直接的做法是:直接在Spring源码中加入Demo代码,并进行调试. 参照以前使用Spring的经验,Spring最简单的使用方法是:一个实体类. ...

  9. Dubbo入门—搭建一个最简单的Demo框架

    一.Dubbo背景和简介 1.电商系统的演进 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. a.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一 ...

随机推荐

  1. ubuntu-14.04.2-desktop使用方法

    一.安装VMware Tools 1. 在VMware Workstation11.1.0下安装Ubuntu镜像:ubuntukylin-14.04.2-desktop-amd64.iso 2. 点击 ...

  2. node(async原理)

    node中的async是用来实现同步操作的,提供包括map.Series等方法,本文不做赘述. 由于项目需要在浏览器端用了async.js,因此仔细看了下它的代码.原来,一直以为node是在服务端调用 ...

  3. Linux的tree命令

    发现Linux下有个很好的命令,tree,能把目录以树的形式列出来,还支持很强大的参数. 但默认情况下是不带的,得自己去安装,先到这里下载它的代码:http://mama.indstate.edu/u ...

  4. xamarin UWP证书问题汇总

    打算开发一个软件使用rsa加密的东西,所以有用到数字证书这块,最近遇到些问题, 问题一:使用如下代码添加数字证书后,在证书管理器的当前用户和本地计算机下都找不到这张证书. using (X509Sto ...

  5. java轻量级IOC框架Guice

    Google-Guice入门介绍(较为清晰的说明了流程):http://blog.csdn.net/derekjiang/article/details/7231490 使用Guice,需要添加第三方 ...

  6. ScrollView中嵌套GridView,ListView只显示一行的解决办法

    转载:http://blog.csdn.net/luohai859/article/details/39347583 关于为什么只显示一行,个人理解是:如果单独使用GridView和ListView, ...

  7. lintcode循环数组之连续子数组求和

    v 题目:连续子数组求和 II 给定一个整数循环数组(头尾相接),请找出一个连续的子数组,使得该子数组的和最大.输出答案时,请分别返回第一个数字和最后一个数字的值.如果多个答案,请返回其中任意一个. ...

  8. 探讨Android中的内置浏览器和Chrome

    1.Android默认浏览器和Chrome的区别 Android出厂自带的浏览器:安卓WebKit浏览器,也成内置浏览器或者默认浏览器. 安卓WebKit不是Chrome.Chrome浏览器在它的用户 ...

  9. 优化javaScript代码,提高执行效率

    今天看完书,总结了一下可以如何优化 JavaScript . 1.合并js文件 为优化性能,可以把多个js文件(css文件也可以)合并成极少数大文件.跟十个5k的js文件相比,合并成一个50k的文件更 ...

  10. 楼主,可否发一份代码给我!QQ....

    一般来说,但凡博主写一篇很赞的文章,然后贴上演示demo的图片或者结果之后,下面一定有一大堆要代码的.不论你在博客中,把算法讲得多么透彻清晰,各种流程图伪代码一清二楚:也不论你提出了任何漂亮的思路和设 ...