Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500316
  • 博文数量: 68
  • 博客积分: 2492
  • 博客等级: 大尉
  • 技术积分: 866
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-02 16:30
个人简介

承接移动应用(iOS、Android、WP),桌面应用(VC++、C#、VB、Qt)和嵌入式软件(单片机、ARM)开发。欢迎接洽。QQ:2335301794,E-mail:rabbitom@gmail.com。

文章分类

全部博文(68)

文章存档

2016年(1)

2015年(2)

2014年(4)

2013年(6)

2012年(1)

2011年(8)

2010年(16)

2009年(8)

2008年(10)

2007年(12)

我的朋友

分类: C#/.net

2013-08-30 18:41:22

.Net中,可以通过Microsot.Win32.RegistryKey类的GetValueNames()方法获取注册表指定项目下所有的值,从而实现枚举。
以获取
系统中的可用串口列表为例,可用串口列表保存在注册表“ HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM”项目下。

代码如下:

  1. Imports Microsoft.Win32

  2. Module CommModule

  3.     Public Function GetAvaliableComPorts() As ArrayList
  4.         Dim regKey As RegistryKey = Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\SERIALCOMM")
  5.         Dim regValueNames() As String = regKey.GetValueNames()
  6.         Dim regValueCount As Integer = regValueNames.Count()
  7.         Dim regValues As ArrayList = New ArrayList()
  8.         For Each regValueName As String In regValueNames
  9.             Dim regValue As String = regKey.GetValue(regValueName)
  10.             If Not (regValue Is Nothing) Then
  11.                 regValues.Add(regValue)
  12.             End If
  13.         Next
  14.         regValues.Sort()
  15.         Return regValues
  16.     End Function

  17. End Module
参考:
1. 《枚举串口四法》
2.



阅读(4851) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~