知识大全 C#用Activex实现Web客户端读取RFID功能
Posted 知
篇首语:学问之根苦,学问之果甜。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#用Activex实现Web客户端读取RFID功能相关的知识,希望对你有一定的参考价值。
C#用Activex实现Web客户端读取RFID功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
由于要在Web项目中采用RFID读取功能 所以有必要开发Activex 一般情况下开发Activex都采用VC VB等 但对这两块不是很熟悉 所以采用C#编写Activex的方式实现 本文方法参考网络 编写WindowsFromControls 发布WindowsFormControls为Activex 在web中使用该Activex 首先编写windows控件
如何编写不再详述(注意一个地方 GUID自己用vs工具生成一个 下面会用到 我的 CBD B C F F B B ) 重要的类 using System; using System Runtime InteropServices; namespace RFIDReader public class ReadRfid [DllImport( MasterRD dll )] private static extern int rf_init_(int port int baud); [DllImport( MasterRD dll )] private static extern int rf_request(short icdev byte model ref short TagType); [DllImport( MasterRD dll )] private static extern int rf_write(int icdev char _Adr char _Data); [DllImport( MasterRD dll )] private static extern int rf_anticoll(short icdev byte bcnt ref byte ppsnr ref byte pRLength); [DllImport( MasterRD dll )] private static extern int rf_ClosePort(); public string CardNum get return getCardNum(); private string getCardNum() int post = ; //调用 口 int baud = ; int i = ; byte model = ; byte b = ; short TagType = ; byte[] buf = new byte[ ]; try rf_init_(post baud); rf_request( model ref TagType); rf_anticoll( ref buf [ ] ref b ); string s = ; for (i = ; i < b ; i++) s = s + System Convert ToString(long Parse(buf [i] ToString()) ) ToUpper(); rf_ClosePort(); if (s == ) throw (new Exception()); return s ; catch (Exception) return ; view sourceprint? using System; using System Collections Generic; using System Linq; using System Text; using System Runtime InteropServices; namespace RFIDReader
[ComImport GuidAttribute( <SPAN > CBD B C F F B B </SPAN><SPAN > </SPAN> )] [InterfaceTypeAttribute(ComInterfaceType InterfaceIsIUnknown)] public interface IObjectSafety [PreserveSig] void GetInterfacceSafyOptions( int riid out int pdwSupportedOptions out int pdwEnabledOptions); [PreserveSig] void SetInterfaceSafetyOptions( int riid int dwOptionsSetMask int dwEnabledOptions); 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 Runtime InteropServices; using CJ; namespace RFIDReader [Guid( CBD B C F F B B ) ProgId( RFIDReader Reader ) ComVisible(true)] public partial class Reader : UserControl IObjectSafety public Reader() InitializeComponent(); #region IObjectSafety 成员 public void GetInterfacceSafyOptions(int riid out int pdwSupportedOptions out int pdwEnabledOptions) pdwSupportedOptions = ; pdwEnabledOptions = ; public void SetInterfaceSafetyOptions(int riid int dwOptionsSetMask int dwEnabledOptions) throw new NotImplementedException(); #endregion private void timer _Tick(object sender EventArgs e) ReadRfid rfid=new ReadRfid(); string str = rfid CardNum; if (str != ) textBox Text = str; GetInfo(); public int TimerSpan get return timer Interval; set timer Interval = value; public string CardNum get return textBox Text; private void GetInfo() this label Text = cccc ; 为了能够在所有客户端ie上显示控件 要在程序的AssemblyInfo cs里添加如下语句 [assembly: AllowPartiallyTrustedCallers()] 下一步 右键该项目 属性 生成 将为互操作注册 打上勾勾然后编译 如果没有问题 那么测试下 应该可以读取RFID的ID到文本框了 制作安装程序 跟普通的制作安装程序一样 新建一个安装程序 然后删掉里面的文件夹 鼠标右键空白区域 》添加 》项目输出 》选择主输出
cha138/Article/program/net/201311/13644相关参考
用C#读取sina天气预报到wap页面 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! <%@Re
使用C#读取dbf行情文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 由于历史的原因我国的上
c#通过网线读取三菱PLC数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! publicsta
在C#中如何读取配置文件[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 配置文件概述 应
在C#中如何读取配置文件[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 不同的type不但
在C#中如何读取配置文件[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!通过上面的代码我们可以
C#对数据库的读取,写,更新和删除 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ●读取数据其中
C#来创建和读取XML文档 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 扩展标记语言XML(e
C#如何读取和创建INI文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在做项目过程中有时需
在c#中运用到操作流时首先要加入以下两个命名空间 usingSystemIO; usingSystemCollections; 我总结了以下几种方式来进行IO操作很简便但却很实用 目录的创