摘要: 上面的参数中,有三个要说明的:ClassGuid、Enumerator和Flags,都是过滤标志。设置了他们之后,系统所有的设备,只有符合这三个条件的才被放到设备信息集合中。ClassGuid自然是指设备类或设备接口类的GUID,比如USB的GUID为{36FC9E60-C465-11CF-8056-444553540000}等。Enumerator笔者翻译为枚举子。啥意思呢?一般来说,设备ID就是设备的枚举子。所以如果像上例中设置为“USB”,则所有设备ID中包含“USB”的都将被包括,故而像“USB/VID_04B4&PID_8613”这样的设备,都被包含其中——其实这个枚举子包含 阅读全文
posted @ 2012-05-25 15:37 培雯 阅读(948) 评论(1) 推荐(0) 编辑
摘要: 硬件主导安装硬件主导的设备安装,是指在安装程序尚未运行,系统尚无设备驱动信息的情况下,用户将设备连接到电脑上,这将导致“硬件主导”的设备安装方式。每当有新设备连接到系统中,系统PNP管理器都会尝试为设备寻找合适的驱动程序,如果能够找到,将尽可能地采用服务器端方式,悄无声息地为设备将驱动安装完毕。否则,将提示用户进行驱动安装指导。我们这一节,要讲述的是第二种情况下的处理。软件主导安装和硬件主导的安装方式相反,软件主导的安装方式,是先软件安装先于设备接入。但由于软件无法预知自己到底是先还是后,所以他需要在运行之初,自己做准确的判断。一般来说,安装软件在运行之初,需要做一件事:判断当前系统中,PNP 阅读全文
posted @ 2012-05-25 15:36 培雯 阅读(1806) 评论(1) 推荐(0) 编辑
摘要: 软件结构比硬件来的复杂很多。因为它包含了许多从表面上看不到的层次。比如总线驱动、功能驱动、过滤驱动等。套用社会学的话,这体现了功能应用中的分工和统筹。下面我们逐层来看它们。总线驱动总线驱动位于驱动栈的最低层,处理复杂的任务,必须资源分配,子设备管理。作为下层驱动,负责处理上层驱动发下来的请求。USB设备中的总线驱动主要有两类:控制器驱动、HUB驱动;另外还有一个端口驱动。1)控制器驱动:Ushohci.sys、Usbuhci.sys、Usbehci.sys。首先解释一下HCI,它是主机控制接口(Host ControlInterface)的缩写。前后一共有三种HCI协议出现:USB 1.1时代 阅读全文
posted @ 2012-05-25 15:34 培雯 阅读(1475) 评论(0) 推荐(0) 编辑
摘要: 该控件的使用:一个重要属性Interval,这个值设定每个多长时间执行一次动作,单位是毫秒,还有一个重要事件是Timer,双击Timer控件即可自动产生这个事件的框架,在这个框架里面写入每隔Interval毫秒就要执行的代码动作。例如:1.放一个Timer控件在窗体上2.设置Timer控件的Interval属性为60000(表示60000毫秒,即一分钟)3.双击Timer控件,在光标处写代码:msgbox("hello")这样,每隔一分钟就弹出一个消息框,显示hello控件的启动与关闭:该控件的启动与关闭分别是.start(),.stop()。textBox_textCha 阅读全文
posted @ 2012-05-21 15:56 培雯 阅读(379) 评论(0) 推荐(0) 编辑
摘要: public delegate void AddString(string Mess); public void Add(string Mess) { if (listBox1.InvokeRequired) { AddString addmess = new AddString(Add); listBox1.Invoke(addmess, new object[] { Mess }); } else { listBox1.Items.Add(Mess); } } 调用该Add()方法往listBox1添加信息 阅读全文
posted @ 2012-05-15 23:13 培雯 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 把FullRowSelect改为True即可选择一行 阅读全文
posted @ 2012-05-15 22:14 培雯 阅读(233) 评论(0) 推荐(0) 编辑
摘要: listview控件中的View 属性获取或设置项在控件中的显示方式。 设置listview中的View属性设置为 Tile 时,该属性可控制平铺单元的大小。如果子项文本太长而无法在一行之中显示,设置此属性可用于防止对文本进行换行。 Tile表示每个项都显示为一个完整大小的图标,在它的右边带项标签和子项信息。显示的子项信息由应用程序指定。此视图仅在下面的平台上受支持:Windows XP 和 Windows Server 2003 系列。在之前的操作系统上,此值被忽略,并且 ListView 控件在 LargeIcon 视图中显示。 另外View 的属性默认为LargeIcon,表示... 阅读全文
posted @ 2012-05-15 21:53 培雯 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 实现功能:datatable绑定comboBox,在下拉菜单中显示对应数据实现方法:1、生成datatable,并为combox绑定数据源: comboBox1.DataSource = dt1; comboBox1.DisplayMember = "用户编码"; comboBox1.ValueMember = "ID"; this.comboBox1.SelectedIndex = -1; 2、在combox的SelectedIndexChanged事件中添加如下方法: private void comboBox1_SelectedIndexChang 阅读全文
posted @ 2012-05-15 10:15 培雯 阅读(1136) 评论(0) 推荐(0) 编辑
摘要: 一个重要属性Interval,这个值设定每个多长时间执行一次动作,单位是毫秒,还有一个重要事件是Timer,双击Timer控件即可自动产生这个事件的框架,在这个框架里面写入每隔Interval毫秒就要执行的代码动作。例如:1.放一个Timer控件在窗体上2.设置Timer控件的Interval属性为60000(表示60000毫秒,即一分钟)3.双击Timer控件,在光标处写代码:msgbox("hello")这样,每隔一分钟就弹出一个消息框,显示hello另外使用timer1.enable=false 或timer1.enable=true进行控制 阅读全文
posted @ 2012-05-15 10:11 培雯 阅读(222) 评论(0) 推荐(0) 编辑
摘要: ToString()、Convert.ToString()、(string)、as string 的区别/Convert、Parse、TryParse、(int) 的区别 ToString()、Convert.ToString()、(string)、as string 的区别 通常 object 到 string 有四种方式(假设有object obj):obj.ToString()、Convert.ToString()、(string)obj、obj as string。他们都能将 object 对象转换成 string 对象。我就讲讲他们的异同以及在实际中应该使用哪个。 前两个方法通常是. 阅读全文
posted @ 2012-05-09 13:29 培雯 阅读(191) 评论(0) 推荐(0) 编辑