iT邦幫忙

DAY 14
1

Windows Mobile系列 第 14

[Windows Mobile]取得行動裝置的識別碼 UniqueID

撰寫程式取得 Windows Mobile 行動裝置的識別碼 ( UniqueID )
更多文章,請到我在點部落所建立的部落格「.NET菜鳥自救會」閱讀
http://www.dotblogs.com.tw/chou/

  1. 簡介
    如何撰寫程式取得 Windows Mobile 行動裝置的識別碼 ( UniqueID )

  2. 方法
    使用 Windows API 中的 GetDeviceUniqueID : 此函式回傳裝置識別碼,我們可以應用此識別碼去辨識行動裝置。
    關於 GetDeviceUniqueID 使用可參考 pinvoke.net 內的說明

程式碼

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

// System.Runtime.InteropServices 命名空間 : 提供各種支援 COM Interop 和平台叫用服務的成員
using System.Runtime.InteropServices;

namespace GetDeviceUniqueID
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        [DllImport("coredll.dll")]
        private extern static int GetDeviceUniqueID([In, Out] byte[] appdata,
                                                    int cbApplictionData,
                                                    int dwDeviceIDVersion,
                                                    [In, Out] byte[] deviceIDOuput,
                                                    out uint pcbDeviceIDOutput);

        private void btnGetUniqueID_Click(object sender, EventArgs e)
        {
            this.txtUniqueID.Text = string.Empty;
            byte[] id = GetDeviceID("myAppName");
            for (int i = 0; i < id.Length; i++)
            {
                txtUniqueID.Text += id[i].ToString("X2");  // 將取得的 UniqueID 轉換成大寫16進制
                txtUniqueID.Text += "-";
            }
            txtUniqueID.Text = txtUniqueID.Text.TrimEnd('-');
        }

        private byte[] GetDeviceID(string AppString)
        {
            byte[] AppData = Encoding.Unicode.GetBytes(AppString);
            int appDataSize = AppData.Length;
            byte[] DeviceOutput = new byte[20];
            uint SizeOut = 20;
            GetDeviceUniqueID(AppData, appDataSize, 1, DeviceOutput, out SizeOut);
            return DeviceOutput;
        }
    }
}
  1. 執行結果

上一篇
[Windows Mobile]撰寫程式取得行動裝置的 IMEI、IMSI
下一篇
[Windows Mobile]使用 Google Chart API 產生 QR Code
系列文
Windows Mobile41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言