WinCE下读取注册表获得SD路径

【要点】WinCE注册表中[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\] 下键Folder的值就是存储卡的名字

在用C#开发WinCE软件时,如果需要获得存储卡路径,可以采用如下方法:

1、添加对Microsoft.Win32的引用。因为注册表相关的两个类RegistryKey和Registry都是在这个命名空间中定义的

using Microsoft.Win32;

2、定义一个RegistryKey,用于读取注册表值。

//注册表路径

string path = @"System\StorageManager\Profiles\SDMemory";

RegistryKey key = null;

key = Registry.LocalMachine.OpenSubKey(path,false);

3、判断路径path下是有Folder键后读取并返回即可获得存储卡的名字。之后该怎么用怎么用吧!

if (key.GetValue("Folder") != null)

{

// key.GetValue("Folder").ToString() 即为存储卡的名字                     MessageBox.Show(key.GetValue("Folder").ToString());

}

4、完整代码如下,在我WinCE5.0下测试通过:

using System;

using System.Windows.Forms;

using Microsoft.Win32;

//读取注册表中键值

namespace GetFlashCardPath

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

string path = @"System\StorageManager\Profiles\SDMemory";

RegistryKey key = null;

key = Registry.LocalMachine.OpenSubKey(path,false);

if (key.GetValue("Folder") != null)

{

MessageBox.Show(key.GetValue("Folder").ToString());

key.Close();

}

}

}

}

5、你也可以通过修改这个注册表键来改变存储卡的显示路径。

生命key是可以写入的

key = Registry.LocalMachine.OpenSubKey(path,true);

之后写入你想要写入的值

key.SetValue("Folder", "存储卡");

6、如果你是牛人,可以使用API FindFirstFlashCard和FindNextFlashCard来获取WinCE上任何类型的存储卡,这样最保险

此文转自  http://www.cnblogs.com/zyqgold/archive/2010/01/28/1658737.html

WinCE下读取注册表获得SD路径的更多相关文章

  1. Java Windows下读取注册表的工具类

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  2. inno setup读取注册表遇到的一个坑

    一.背景 目前,公司针对PR开发的一个插件需要发布到64位系统上.该插件包括一个prm格式的文件和若干个DLL文件.其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录 ...

  3. C#读取注册表中二进制类型的值(REG_BINARY)

    如需要读取注册表中某个键的值, 例如读取DriverDesc对应的值,一般情况下为String类型,读取代码如下: RegistryKey driverKey = Registry.LocalMach ...

  4. Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法

    原文:Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法 今天同事在做安装包的时候,有一个读取注册表路径的需求,需要根据 ...

  5. c++读取注册表的实例

    // CRegisterTest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #in ...

  6. C#读取注册表信息

    注册表是视窗系统的一个核心的数据库,在这个数据库中存放中与系统相关的各种参数,这些参数直接控制中系统的启动.硬件的驱动程序安装信息以及在视窗系统上运行的各种应用程序的注册信息等.这就意味着,如果注册表 ...

  7. C++ 64位操作系统调用 RegOpenKey() 读取注册表,返回 2, ERROR_FILE_NOT_FOUND

    环境:64位操作系统, VS2017 首先在命令行执行 REG ADD HKLM\Software\seastarsun /v serial /t REG_SZ /d 58ae4cb077a4e1 在 ...

  8. Advanced Installer,搜索注册表,根据注册表选择安装路径

    原文:Advanced Installer,搜索注册表,根据注册表选择安装路径 又停了一段时间没有更新了,今天上博客,发现有位朋友就打包的时候需要搜索注册表(不同版本注册表路径不一致,需要搜索多次来确 ...

  9. Delphi在win7/vista下写注册表等需要管理员权限的解决方案

    看到论坛好多人问win7下写注册表的问题,我结合自己的理解写了一点东西,首先声明一下,本人初学Delphi,水平有限,大家见笑了,有什么不对之处请老鸟多指点. [背景]win7/Vista提供的UAC ...

随机推荐

  1. EXCEL数据导入dataset

    一.开工必备 1.micorosoft office2007 2.VS2010.Oracle 11 二.界面 三.内部代码 (1)获取数据库连接,定义全局变量 private static strin ...

  2. offer

    八月份仿真实验室国赛以后,我并没有开始做一些关于找工作的准备,而是在做自己感兴趣的cocos2d-x,大概花了一个星期的时间从安装平台到查资料写了一个flappybird小游戏,将近开学了才把找工作的 ...

  3. calculator

    #include <stdio.h> #include <stdlib.h> typedef enum { FALSE = , TRUE }BOOL; void calcula ...

  4. RadGrid使用技巧:从RadGrid获取绑定的值

    本文主要介绍从RadGrid获取绑定的值,仅适用于Telerik RadControls for asp.net ajax. 获取方式 RadGrid把绑定的值存储在VIewState中,即使View ...

  5. GDT 学习笔记逻辑地址和线性地址计算,因为是自学,所以这只是我的个人理解,不对的请大家指导。

    在 bochs 刚开始的时候 gdt 是未知的,需要通过实模式的16位代码段初始化 gdt 信息, 在 lgdt 指令之后,即可以使用程序自定义的 GDT 表了. 假如:gdt 初始地址为 0x7c7 ...

  6. linux autoload service create

    ---恢复内容开始--- EXEC="php-fpm" stop(){ echo "Stoping $EXEC ..." ps aux | grep " ...

  7. sql时间查询的问题

    今天在做一个时间查询的时候遇到一个问题,就是获取的时间是 数据库的存储是这样的2016-10-29 12:11:40    2016-10-31 15:00:05 ... $log=M('table' ...

  8. Linux课程实践三:简单程序破解

    一.基本知识 1. 常用指令机器码 不同版本对应机器码不同,这里以我做实验的kali(Intel 80386)为例. 指令 作用 机器码 nop 无作用(no operation) 90 call 调 ...

  9. 什么是SCADA Viewer

    SCADA Viewer 什么是SCADA Viewer SCADA Viewer是一个基于Web的软件框架(基于Web的HMI/SCADA/M2M工业和楼宇自动化,支持Modbus,BACnet,O ...

  10. Tomcat本地提权漏洞预警(CVE-2016-1240)

    Tomcat是个运行在Apache上的应用服务器,支持运行Servlet/JSP应用程序的容器--可以将Tomcat看作是Apache的扩展,实际上Tomcat也可以独立于Apache运行. 漏洞编号 ...