当前位置:首页>网络学院>程序开发>Visual C++教程>文章内容

VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号

[ 来源:http://www.it55.com | 作者: | 时间:2007-10-11 | 收藏 | 推荐 ] 【

以下代码可以取得系统特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号)

    BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码
    UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 http://www.it55.com在线教程

    // 网卡 MAC 地址,注意: MAC 地址是可以在注册表中修改的
    {
        UINT uErrorCode = 0;
        IP_ADAPTER_INFO iai;
        ULONG uSize = 0;
        DWORD dwResult = GetAdaptersInfo( &iai, &uSize );
        if( dwResult == ERROR_BUFFER_OVERFLOW )
        {
            IP_ADAPTER_INFO* piai = ( IP_ADAPTER_INFO* )HeapAlloc( GetProcessHeap( ), 0, uSize );
            if( piai != NULL )
            {
                dwResult = GetAdaptersInfo( piai, &uSize );
                if( ERROR_SUCCESS == dwResult )

免费网页模版下载http://www.it55.com

                {
                    IP_ADAPTER_INFO* piai2 = piai;
                    while( piai2 != NULL && ( uSystemInfoLen + piai2->AddressLength ) < 4096U )
                    {
                        CopyMemory( szSystemInfo + uSystemInfoLen, piai2->Address, piai2->AddressLength );
                        uSystemInfoLen += piai2->AddressLength;
                        piai2 = piai2->Next;                       
免费壁纸下载http://www.it55.com

                    }
                }
                else
                {
                    uErrorCode = 0xF0000000U + dwResult;
                }
                VERIFY( HeapFree( GetProcessHeap( ), 0, piai ) );
            }
            else
            {
vd;k;l http://www.it55.com rdfg

                return FALSE;
            }
        }
        else
        {
            uErrorCode = 0xE0000000U + dwResult;
        }
        if( uErrorCode != 0U )
        {
            return FALSE;
        }
    }

免费网页模版下载http://www.it55.com

    // 硬盘序列号,注意:有的硬盘没有序列号
    {
        OSVERSIONINFO ovi = { 0 };
        ovi.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );
        GetVersionEx( &ovi );
       
        if( ovi.dwPlatformId != VER_PLATFORM_WIN32_NT )
        {
            // Only Windows 2000, Windows XP, Windows Server 2003...

(编辑:IT资讯之家 www.it55.com

返回顶部
共11页: 上一页 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]