Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Saber ID de mi PDA (https://www.clubdelphi.com/foros/showthread.php?t=65631)

JordiP 31-12-2009 13:41:14

Saber ID de mi PDA
 
Buenas queria saber como puedo saber la ID de mi PDA. Tengo entendido que cada PDA tiene un numero UNICO y me gustaria desde mi programa obtenerlo.

He probado un codigo que encontre y que utiliza
Código Delphi [-]
 
KernelIoControl(IOCTL_HAL_GET_DEVICEID, IntPtr.Zero, _
0, outbuff, nBuffSize, dwOutBytes)

Va bien, pero no es el ID UNICO que necesito, me da un numero y creo que es solo del tipo de procesador, no lo se, lo unico es que en 2 PDA iguales (misma marca y modelo) me da el miemo numero en ambas.

Si alguien puede ayudarme, se lo agradecería.

Feliz Año nuevo a todos.


white_zombie 31-12-2009 20:36:56

Hola, en windows mobile existe la función GetDeviceUniqueID, un ejemplo de como usarla lo puedes encontrar el la wiki de Lazarus para wince. Espero que te sirva de ayuda.

Un Saludo.

JordiP 04-01-2010 10:41:04

Gracias white_zombie, he aplicado el ejemplo que aparece en el enlace y no logro saber cual es el valor que necesito, en este caso el ID de mi dispositivo PDA.

Código:

<System.Runtime.InteropServices.DllImport("coredll.dll")> _
Private Shared Function GetDeviceUniqueID(ByVal appdata As Byte(), ByVal cbApplictionData As Integer, ByVal dwDeviceIDVersion As Integer, ByVal deviceIDOuput As Byte(), ByRef pcbDeviceIDOutput As Integer) As Integer
End Function
 
Private Function GetDeviceIdUnique(ByVal appData As String) As Byte()
  Dim appDataBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(appData)
  Dim outputSize As Integer = 20
  Dim output(19) As Byte
  Dim result As Integer = GetDeviceUniqueID(appDataBytes, appDataBytes.Length, 1, output, outputSize)
 
  Return output
End Function

Hasta aqui llego pero no se que variable es la que me devuelve el ID, teoricamente es "outPut", que viene en Bytes, intento convertirlos a String y lo que veo son todos ceros "000000....."

Código:


Dim sb As New StringBuilder
Dim i As Integer
 
For i = 0 To outputSize - 1
  sb.Append(String.Format("{0:X2}", output(i)))
Next i
 
MsgBox("Result: " + sb.ToString)

Espero que alguien pueda ayudarme.

Saludos




JordiP 04-01-2010 11:41:17

He encontrado esto http://www.vb-tips.com/Getting_Windo...Device_ID.aspx y funciona bien.

Gracias de nuevo


La franja horaria es GMT +2. Ahora son las 23:26:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi