C# 如何检测Windows Mobile 5设备序列号?(.NET CF 3.5)

C# 如何检测Windows Mobile 5设备序列号?(.NET CF 3.5),c#,.net,windows-mobile,compact-framework,C#,.net,Windows Mobile,Compact Framework,我们有好几台我工作的设备(大部分),总有人把一台留在基地上。电池耗尽后,他们会把电池带回来重新安装。(应该有一种方法可以将SD卡上的文件配置为在出现此类错误时重新加载,但效果不太好) 当有人在设备上保存更改时(使用我的将数据写入SQL Server的应用程序),序列号会随设备一起发送,以便我们可以跟踪正在使用的设备 每个设备都有一个序列号,我必须以物理方式(即手动)将其写入设备名称字段,我可以读取该字段。如果有人想知道如何操作,请在此使用代码: static string deviceId =

我们有好几台我工作的设备(大部分),总有人把一台留在基地上。电池耗尽后,他们会把电池带回来重新安装。(应该有一种方法可以将SD卡上的文件配置为在出现此类错误时重新加载,但效果不太好)

当有人在设备上保存更改时(使用我的将数据写入SQL Server的应用程序),序列号会随设备一起发送,以便我们可以跟踪正在使用的设备

每个设备都有一个
序列号
,我必须以物理方式(即手动)将其写入
设备名称
字段,我可以读取该字段。如果有人想知道如何操作,请在此使用代码:

static string deviceId = null;

public static string DeviceName {
  get {
    if (String.IsNullOrEmpty(deviceId)) {
      using (RegistryKey key = Registry.LocalMachine.OpenSubKey("Ident", true)) {
        try {
          deviceId = key.GetValue("Name", "[Unnamed]").ToString();
        } catch (Exception e) {
          ErrorWrapper("GetDeviceName", e);
          deviceId = Dns.GetHostName();
        } finally {
          key.Flush();
          key.Close();
        }
      }
    }
    return deviceId;
  }
}
我不喜欢手动(即胖手指)序列号输入。是否有电话查询设备的序列号,或者该供应商是否特定

Datamax确实制作了一个特定于其设备的SDK,但我们不希望我们的应用程序绑定到任何一个制造商(我们已经绑定到VS2008)


我不知道您的Datalogic 4420 Falcon设备,但我与Intermec CK30和CK60合作,我有他们的itc50.dll文件。 下面是一个片段:

[DllImport("itc50.dll")]public static extern int ITCGetSerialNumber(StringBuilder Snumber, int buffSize);

StringBuilder hwSN = new StringBuilder(12);

if (ITCGetSerialNumber(hwSN, hwSN.Capacity) >= 0)
{
    ;
    ;
}

我不知道您的Datalogic 4420 Falcon设备,但我与Intermec CK30和CK60合作,我有他们的itc50.dll文件。 下面是一个片段:

[DllImport("itc50.dll")]public static extern int ITCGetSerialNumber(StringBuilder Snumber, int buffSize);

StringBuilder hwSN = new StringBuilder(12);

if (ITCGetSerialNumber(hwSN, hwSN.Capacity) >= 0)
{
    ;
    ;
}

我首先尝试p/Invoke获取设备ID(
KerneIoControl
with
IOCTL\u HAL\u get\u DEVICEID
),看看它是否与您要查找的序列号匹配

我首先尝试p/Invoke获取设备ID(
KerneIoControl
with
IOCTL\u HAL\u get\u DEVICEID
),看看它是否匹配您要查找的序列号

很高兴有这样一个例子——比我想象的要复杂得多!谢谢。很高兴有个例子——比我想象的要复杂得多!谢谢