登录
首页 » 驱动 » 探寻可靠的硬件 ID

探寻可靠的硬件 ID

于 2022-02-12 发布 文件大小:78.04 kB
0 301
下载积分: 2 下载次数: 1

代码说明:

翻译 maninwest@Codeforge 作者:Michael N Haephrati (האפרתי)@CodeProject很多桌面应用开发员需要唯一识别出运行软件的计算机。这种身份识别必须能生成唯一的数据元素,每台计算机各不相同,并在同一台给定计算机上可重现相同的 ID。 WMI 的类Windows 提供了一组可以用于硬件枚举和身份识别任务的类,称为 WMI ( Windows Management Instrumentation), 是 Windows Driver Model (WDM) 的扩展。WMI 根据安装组件提供静态信息和更改的动态信息,可以在服务器上或者计算机使用多数编程语言进行本地和远程管理,枚举安装的组件并提醒发生的更改。我通过研究总结出,如果重视速度和可靠性的话,最好通过  Win32 API 访问硬件而不使用 WMI。我遇到了很多延迟,且在某些情况下, WMI 不能检测出 CPU ID 等元素。这里着重介绍不使用WMI 获取此数据的直接方法。获得唯一的 CPU ID似乎最好的方法是取样 CPU 唯一识别号 (或者CPU ID)。但是,这种选择有几个问题,让依赖读取 CPU ID 几乎不可能实现。首先,除了旧的奔腾 III,大多数 CPU 都没有唯一的  CPU  序列号。Intel 已经处于安全考虑移除了此功能。整个主板仍可以生成一个 ID ,这本是可以实现的,但是由于主板的类型很多制造商很多,让生成一个覆盖所有的唯一 ID 基本上不可能。一家名为 CPU ID 的法国公司在此方面做了很多研究,他们花费了很多资源来获得每个主板和 CPU

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • IO口模拟I2C(主+从)
    I²C(Inter-Integrated Circuit)是內部整合電路的稱呼,是一種串列通訊匯流排,使用多主從架構,由飛利浦公司在1980年代為了讓主機板、嵌入式系統或手機用以連接低速週邊裝置而發展。I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法,在中國則多以"I方C"稱之。截至2006年11月1日為止,使用I²C協定不需要為其專利付費,但製造商仍然需要付費以獲得I²C從屬裝置位址。
    2023-05-02 03:25:04下载
    积分:1
  • RTD2660源代码
    应用背景RTD2260为显示器行业,TV行业广泛应用的一款芯片,realtek的显示芯片在国内市场占有率超过70%,但对广大程序员及维修人员获得源代码的途径很少,realtek对源代码的管控也非常严格,现在将此源码分享,供程序员,学生,维修者学习参考关键技术hdmi,vga,ypbpr,avi,svi,tv,audio,s-video,power,panel,inverterinclude "reg52.h" #include "intrins.h" #include "math.h" #include "CoreHeaderGlobal.h" #include "CoreHeaderStruct.h" #include "pcbPcb.h" #include "MiscGUartSend.h"   #include "KeysKey.h" #include "CoreHeaderEepromDefaultCustomer.h" #include "PanelPanel.h" #include "CoreHeaderMaindef.h" #include "CoreHeaderScalerDef.h" #include "CoreHeaderI2c.h" #include "libVideoDec.h"
    2022-01-26 05:10:50下载
    积分:1
  • GPS 解析代码
    STM32 芯片 解析GPS模块数据,并且用串口输出到显示器!!!!!!!!!!!!
    2022-02-05 07:29:46下载
    积分:1
  • PL2303 源码 for MacOS
    PL2303 源码 for MacOS,PL2303串口驱动苹果版此代码使用Xocde编译,语言Object C++
    2023-07-07 02:40:02下载
    积分:1
  • VB 文件事件记录器
    这个源代码是文件系统事件记录器。当用户访问文件 (如创建、 打开、 读、 写、 删除、 等等),程序捕获这些事件,然后将其保存在 Sqlite Database.It 使用回调筛选器驱动程序。
    2022-03-03 05:13:44下载
    积分:1
  • 1768的I2C中断操作
    lpc1768的i2c驱动程序,从lpc1768移植过来的希望对正在学习1768的朋友有所帮助 -lpc1768 i2c bus of drivers from lpc1768 transplant hope to learn 1768 to help a friend
    2023-01-05 10:15:03下载
    积分:1
  • 到蓝牙单片机 RS232
    将数据从 RS232 传输到蓝牙设备是 PIC24FJ256GB110 家庭 http://ww1.microchip.com/downloads/en/devicedoc/39897c.pdf 你可以使用的代码和数据的工作表,让您的设备工作 !! 带率是 230400 和循环使用,以避免数据丢失
    2022-07-07 12:06:48下载
    积分:1
  • SimpleDriver
    #include #include #include //定义一个字节型全局变量g_Tmp,用来暂存应用程序传进来的数据 static BYTE g_Tmp = 0; //g_OpenCount则驱动程序打开计数器,用于计数驱动打开的次数 static DWORD g_OpenCount =0; BOOL WINAPI DllEntry(HANDLE hInstDll ,DWORD dwReason ,LPVOID lpvReserved) { switch(dwReason) { case DLL_PROCESS_ATTACH: RETAILMSG(1,(TEXT("SPL:DLL_PROCESS_ATTACH. "))); DisableThreadLibraryCalls((HMODULE)hInstDll); break; case DLL_PROCESS_DETACH: RETAILMSG(1,(TEXT("SPL:DLL_PROCESS_DETACH. "))); break; } return TRUE; } DWORD SPL_Init(DWORD dwContext) { RETAILMSG(1,(TEXT(":::SPL_Init. "))); g_Tmp = 0; g_OpenCount = 0; return 1; } BOOL SPL_Deinit(DWORD dwContext) { RETAILMSG(1,(TEXT(":::SPL_Denit. "))); g_Tmp = 0; g_OpenCount = 0; return TRUE; } DWORD SPL_Open (DWORD hDeviceContext, DWORD AccessCode, DWORD ShareMode) { RETAILMSG(1,(TEXT(":::SPL_Open. n"))); //不允许多个应用打开本驱动 i
    2022-07-26 11:21:15下载
    积分:1
  • STM8L蓝牙控制模块
    应用背景主要应用于低功耗领域。现在该方案已经应用在电子标签、汽车地锁等领域。在使用中需要包括蓝牙遥控、低功耗模块设计、地锁继电器的控制。电池采用了6.5V电源,后续需要加入DS2781电池检测IC。关键技术选择STM8L052R8超低功耗芯片,待机功耗在400nA,蓝牙模块选择dofly,采用UART接口,波特率为9600bps,实现的功能是进行汽车地锁控制。后端采用了6.5V电池供电,后续会增加电池电量检测。
    2023-06-24 00:35:06下载
    积分:1
  • 关于LCD的代码
    关于三星旗下的一款tiny4412的LCD显示屏的LCD驱动框架,驱动的组成部分.
    2022-01-25 14:46:19下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载