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


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

     

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

     

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

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

    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 FindFirstFlashCardFindNextFlashCard来获取WinCE上任何类型的存储卡,这样最保险

    7、截图一张

    clip_image002

  • 相关阅读:
    POJ1258——Prim——Agri-Net
    POJ2485——Prim——Highways
    POJ1789——Prim——Truck History
    POJ1125——Floyed——Stockbroker Grapevine
    POJ2253——Floyed——Frogger
    字符串处理 Codeforces Round #297 (Div. 2) B. Pasha and String
    模拟 Codeforces Round #297 (Div. 2) A. Vitaliy and Pie
    DP+埃氏筛法 Codeforces Round #304 (Div. 2) D. Soldier and Number Game
    queue+模拟 Codeforces Round #304 (Div. 2) C. Soldier and Cards
    贪心 Codeforces Round #304 (Div. 2) B. Soldier and Badges
  • 原文地址:https://www.cnblogs.com/zyqgold/p/1658737.html
Copyright © 2020-2023  润新知