Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

177
Vistas
¿Cómo obtengo un identificador único para un dispositivo dentro de Windows 10 Universal?

Esta es mi implementación anterior para obtener un ID de dispositivo único para Windows Universal 8.1, pero el tipo HardwareIdentification ya no existe.

 private static string GetId() { var token = HardwareIdentification.GetPackageSpecificToken(null); var hardwareId = token.Id; var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId); byte[] bytes = new byte[hardwareId.Length]; dataReader.ReadBytes(bytes); return BitConverter.ToString(bytes).Replace("-", ""); }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esa es la solución completa para Windows Desktop:

  • Agregue la referencia de extensión "Extensiones de escritorio de Windows para UWP" como Peter Torr - MSFT mencionado.

Utilice este código para obtener el HardwareId:

 using System; using Windows.Security.ExchangeActiveSyncProvisioning; using Windows.System.Profile; namespace Tobit.Software.Device { public sealed class DeviceInfo { private static DeviceInfo _Instance; public static DeviceInfo Instance { get { if (_Instance == null) _Instance = new DeviceInfo(); return _Instance; } } public string Id { get; private set; } public string Model { get; private set; } public string Manufracturer { get; private set; } public string Name { get; private set; } public static string OSName { get; set; } private DeviceInfo() { Id = GetId(); var deviceInformation = new EasClientDeviceInformation(); Model = deviceInformation.SystemProductName; Manufracturer = deviceInformation.SystemManufacturer; Name = deviceInformation.FriendlyName; OSName = deviceInformation.OperatingSystem; } private static string GetId() { if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.System.Profile.HardwareIdentification")) { var token = HardwareIdentification.GetPackageSpecificToken(null); var hardwareId = token.Id; var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId); byte[] bytes = new byte[hardwareId.Length]; dataReader.ReadBytes(bytes); return BitConverter.ToString(bytes).Replace("-", ""); } throw new Exception("NO API FOR DEVICE ID PRESENT!"); } } }
over 4 years ago · Santiago Trujillo Denunciar

0

Actualización para Windows 1609 ("Actualización de aniversario")

Consulte estas preguntas y respuestas para conocer una forma mucho mejor de obtener una identificación.

Información antigua para versiones anteriores del sistema operativo

Debe agregar una referencia a los SDK de escritorio y/o móvil para compilar contra el token de hardware. En tiempo de ejecución, debe usar el tipo ApiInformation para consultar si la API está presente antes de usarla (otras familias de dispositivos como Xbox no la tienen).

Dicho esto, muchas veces, cuando las personas solicitan la identificación del dispositivo que en realidad no es la mejor solución para su problema, ¿está seguro de que necesita identificar el dispositivo físico durante toda su vida útil, incluso si cambia la propiedad?

over 4 years ago · Santiago Trujillo Denunciar

0

Parece que

 var deviceInformation = new EasClientDeviceInformation(); string Id = deviceInformation.Id.ToString();

está haciendo la magia, refiriéndose a EasClientDeviceInformation proporciona una identificación única.

La propiedad Id representa DeviceId usando el GUID truncado de los primeros 16 bytes del hash SHA256 de MachineID, User SID y Package Family Name donde MachineID usa el SID del grupo de usuarios locales.

PERO solo funciona para las aplicaciones de la Tienda Windows... así que tiene que haber otra solución.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda