Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption Compact Framework-获取存储卡序列号_Encryption_Compact Framework_.net 2.0_C# 2.0 - Fatal编程技术网

Encryption Compact Framework-获取存储卡序列号

Encryption Compact Framework-获取存储卡序列号,encryption,compact-framework,.net-2.0,c#-2.0,Encryption,Compact Framework,.net 2.0,C# 2.0,早上好 如何获取移动设备上存储卡/sd卡的序列号?我正在Compact Framework V2.0上使用C#.Net 2.0 谢谢。我不是在一台可以为您获取语法的机器上,但我相信您可以使用System.IO名称空间来获取基于IO的属性 首先获取存储卡的DirectoryInfo。(我不是100%了解这里的代码,您可能需要测试,如果我可以访问我的机器,我会更新它) 然后检查代码返回的DirectoryInfo上的所有属性。由于调试的乐趣,您应该能够看到序列号是否是可用属性之一 如果没有,您可能需

早上好

如何获取移动设备上存储卡/sd卡的序列号?我正在Compact Framework V2.0上使用C#.Net 2.0


谢谢。

我不是在一台可以为您获取语法的机器上,但我相信您可以使用System.IO名称空间来获取基于IO的属性

首先获取存储卡的DirectoryInfo。(我不是100%了解这里的代码,您可能需要测试,如果我可以访问我的机器,我会更新它)

然后检查代码返回的DirectoryInfo上的所有属性。由于调试的乐趣,您应该能够看到序列号是否是可用属性之一

如果没有,您可能需要寻找一些更不受管理的东西


希望这有帮助。

您需要使用一些非托管API。具体而言,使用的“控制代码”为。这将反过来返回一个结构

这里有点棘手,因为存储单元标识使用属性(dwserialnumofset)指定从结构开始的(内存)偏移量,这很难转换为互操作调用


编辑:在MSDN论坛上找到了获取SD卡序列号和制造商ID的方法。

joOls在该实现线程中的最后一篇帖子说,根据硬件的不同,它可能只返回windows临时生成的序列号,而不是硬件序列号(请注意)。
public DirectoryInfo GetStorageCard() {
    DirectoryInfo deviceRoot = new DirectoryInfo("/");
    foreach (DirectoryInfo dir in deviceRoot.GetDirectories()) 
       if (dir.Attributes == FileAttributes.Directory & dir.Attributes = FileAttributes.Temporary)
return dir;
}