У нас есть несколько устройств, на которых я работаю (в основном Datalogic 4420 Falcon ), и кто-то всегда оставляет одно вне базы. Батарея разряжена, затем они возвращаются, чтобы начать настройку. (Должен быть способ настроить файл на SD-карте для перезагрузки при такой ошибке, но он не очень хорошо работает)
Когда кто-то сохраняет изменения на устройстве (используя мое приложение, которое записывает данные на SQL Server), вместе с ним отправляется серийный номер, чтобы мы могли отслеживать, какие устройства где используются.
У каждого устройства есть Serial Number
, и я должен физически (то есть вручную) записать это в поле Device name
, которое я могу прочитать. Рабочий код здесь, если кто-то хочет знать, как:
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).