亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mac.h

?? 電子監控的網絡編程實例
?? H
字號:
/************************************************************************/
/* 取工控機硬件編號                                                                     */
/************************************************************************/

#include <nb30.h>
#pragma comment(lib, "netapi32.lib")

typedef struct _ASTAT_
{
	ADAPTER_STATUS adapt;
	NAME_BUFFER NameBuff[30];
}ASTAT,*PASTAT;

ASTAT Adapter;

BOOL getmac_one(int lana_num,LPBYTE mac)
{
	NCB ncb;
	UCHAR uRetCode;

	memset(&ncb, 0, sizeof(ncb));
	ncb.ncb_command = NCBRESET;
	ncb.ncb_lana_num = lana_num;

	uRetCode = Netbios( &ncb );
	if( uRetCode!=0)
	{
		return FALSE;
	}
	

	memset( &ncb, 0, sizeof(ncb) );
    ncb.ncb_command = NCBASTAT;
    ncb.ncb_lana_num = lana_num;     // 指定網卡號
	

	strcpy((char*)ncb.ncb_callname,"*          ");
	ncb.ncb_buffer = (unsigned char*)(&Adapter);
	ncb.ncb_length=sizeof(Adapter);

	uRetCode = Netbios(&ncb);

	if( uRetCode==0)
	{
		memcpy(mac,Adapter.adapt.adapter_address,6);
		return TRUE;
	//	*mac=Adapter.adapt.adapter_address[0];
	//	*(mac+1)=Adapter.
	}
	return FALSE;
}

BOOL GetMacAdd(CString &macStr)
{
	NCB ncb;
	UCHAR uRetCode;
	LANA_ENUM lana_enum;

	memset(&ncb,0,sizeof(&ncb));
	ncb.ncb_command=NCBENUM;

	BYTE address[6];

	ncb.ncb_buffer = (unsigned char *) &lana_enum;
	ncb.ncb_length = sizeof(lana_enum);
	macStr="";

	uRetCode = Netbios(&ncb);
	if(uRetCode == 0)
	{
		int a=lana_enum.length;
		for(int i=0;i<lana_enum.length;i++)
		{
			BOOL a=getmac_one(lana_enum.lana[i],address);
		/*	int i=0;
			while(!a && i<20)
			{
				a=getmac_one(lana_enum.lana[i],address);
				i++;
			}
			if(i>19)
			{
				AfxMessageBox("解密失敗,請重新運行該程序");
				return FALSE;
			}*/
			
			CString str;
			if(a)
			{
				str.Format("%02X%02X%02X%02X%02X%02X",address[0],address[1],address[2],address[3],
					address[4],address[5]);
				if(macStr.GetLength()>0)
					macStr = macStr+","+str;
				else 
					macStr = str;
			}
			if(macStr.GetLength()>0)
				return TRUE;

			//if(str="00-05-B7-01-BB-68" || str=="00-0A-E4-01-B8-C4" || str=="" || str=="00-00-E2-8D-61-49" || str=="00-00-E2-A4-79-88" || str=="00-06-1B-CD-3F-E0" || str=="00-40-CA-BF-C0-F6" || str=="00-E0-18-EF-11-69" || str=="00-80-C8-8C-DB-6C" || str=="00-40-CA-C7-B3-62")
			//	return TRUE;
			
	//		macStr=str;
			/*else
			{
				AfxMessageBox("解密失敗,非法使用本軟件");
				return FALSE;
			}*/
		//	AfxMessageBox(str);
		}
	}
	else 
	{

		return FALSE;
	}
	return TRUE;
	
}

#include <windows.h>
#include <iostream.h>
#include <stdio.h>

#define DFP_GET_VERSION 0x00074080
#define DFP_SEND_DRIVE_COMMAND 0x0007c084
#define DFP_RECEIVE_DRIVE_DATA 0x0007c088

#pragma pack(1)
typedef struct _GETVERSIONOUTPARAMS {
    BYTE bVersion; // Binary driver version.
    BYTE bRevision; // Binary driver revision.
    BYTE bReserved; // Not used.
    BYTE bIDEDeviceMap; // Bit map of IDE devices.
    DWORD fCapabilities; // Bit mask of driver capabilities.
    DWORD dwReserved[4]; // For future use.
} GETVERSIONOUTPARAMS, *PGETVERSIONOUTPARAMS, *LPGETVERSIONOUTPARAMS;

typedef struct _IDEREGS {
    BYTE bFeaturesReg; // Used for specifying SMART "commands".
    BYTE bSectorCountReg; // IDE sector count register
    BYTE bSectorNumberReg; // IDE sector number register
    BYTE bCylLowReg; // IDE low order cylinder value
    BYTE bCylHighReg; // IDE high order cylinder value
    BYTE bDriveHeadReg; // IDE drive/head register
    BYTE bCommandReg; // Actual IDE command.
    BYTE bReserved; // reserved for future use. Must be zero.
} IDEREGS, *PIDEREGS, *LPIDEREGS;

typedef struct _SENDCMDINPARAMS {
    DWORD cBufferSize; // Buffer size in bytes
    IDEREGS irDriveRegs; // Structure with drive register values.
    BYTE bDriveNumber; // Physical drive number to send
    // command to (0,1,2,3).
    BYTE bReserved[3]; // Reserved for future expansion.
    DWORD dwReserved[4]; // For future use.
    //BYTE bBuffer[1]; // Input buffer.
} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;

typedef struct _DRIVERSTATUS {
    BYTE bDriverError; // Error code from driver,
    // or 0 if no error.
    BYTE bIDEStatus; // Contents of IDE Error register.
    // Only valid when bDriverError
    // is SMART_IDE_ERROR.
    BYTE bReserved[2]; // Reserved for future expansion.
    DWORD dwReserved[2]; // Reserved for future expansion.
} DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;

typedef struct _SENDCMDOUTPARAMS {
    DWORD cBufferSize; // Size of bBuffer in bytes
    DRIVERSTATUS DriverStatus; // Driver status structure.
    BYTE bBuffer[512]; // Buffer of arbitrary length
    // in which to store the data read from the drive.
} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;

typedef struct _IDSECTOR {
    USHORT wGenConfig;
    USHORT wNumCyls;
    USHORT wReserved;
    USHORT wNumHeads;
    USHORT wBytesPerTrack;
    USHORT wBytesPerSector;
    USHORT wSectorsPerTrack;
    USHORT wVendorUnique[3];
    CHAR sSerialNumber[20];
    USHORT wBufferType;
    USHORT wBufferSize;
    USHORT wECCSize;
    CHAR sFirmwareRev[8];
    CHAR sModelNumber[40];
    USHORT wMoreVendorUnique;
    USHORT wDoubleWordIO;
    USHORT wCapabilities;
    USHORT wReserved1;
    USHORT wPIOTiming;
    USHORT wDMATiming;
    USHORT wBS;
    USHORT wNumCurrentCyls;
    USHORT wNumCurrentHeads;
    USHORT wNumCurrentSectorsPerTrack;
    ULONG ulCurrentSectorCapacity;
    USHORT wMultSectorStuff;
    ULONG ulTotalAddressableSectors;
    USHORT wSingleWordDMA;
    USHORT wMultiWordDMA;
    BYTE bReserved[128];
} IDSECTOR, *PIDSECTOR;

/*+++
Global vars
---*/
GETVERSIONOUTPARAMS vers;
SENDCMDINPARAMS in;
SENDCMDOUTPARAMS out;
HANDLE h;
DWORD i;
BYTE j;

void DetectIDE(BYTE bIDEDeviceMap){
    if (bIDEDeviceMap&1){
        if (bIDEDeviceMap&16){
            cout<<"ATAPI device is attached to primary controller, drive 0."<<endl;
        }else{
            cout<<"IDE device is attached to primary controller, drive 0."<<endl;
        }
    }
    if (bIDEDeviceMap&2){
        if (bIDEDeviceMap&32){
            cout<<"ATAPI device is attached to primary controller, drive 1."<<endl;
        }else{
            cout<<"IDE device is attached to primary controller, drive 1."<<endl;
        }
    }
    if (bIDEDeviceMap&4){
        if (bIDEDeviceMap&64){
            cout<<"ATAPI device is attached to secondary controller, drive 0."<<endl;
        }else{
            cout<<"IDE device is attached to secondary controller, drive 0."<<endl;
        }
    }
    if (bIDEDeviceMap&8){
        if (bIDEDeviceMap&128){
            cout<<"ATAPI device is attached to secondary controller, drive 1."<<endl;
        }else{
            cout<<"IDE device is attached to secondary controller, drive 1."<<endl;
        }
    }
}

VOID ChangeByteOrder(PCHAR szString, USHORT uscStrSize)
{
    
    USHORT i;
    CHAR temp;
    
    for (i = 0; i < uscStrSize; i+=2)
    {
        temp = szString[i];
        szString[i] = szString[i+1];
        szString[i+1] = temp;
    }
}

CString hdid9x(){
    ZeroMemory(&vers,sizeof(vers));
    //We start in 95/98/Me
    h=CreateFile("\\\\.\\Smartvsd",0,0,0,CREATE_NEW,0,0);
    if (!h){
       // cout<<"open smartvsd.vxd failed"<<endl;
        exit(0);
    }
    
    if (!DeviceIoControl(h,DFP_GET_VERSION,0,0,&vers,sizeof(vers),&i,0)){
       // cout<<"DeviceIoControl failed:DFP_GET_VERSION"<<endl;
        CloseHandle(h);
        return "";
    }
    //If IDE identify command not supported, fails
    if (!(vers.fCapabilities&1)){
      //  cout<<"Error: IDE identify command not supported.";
        CloseHandle(h);
        return "";
    }
    //Display IDE drive number detected
    DetectIDE(vers.bIDEDeviceMap);
    //Identify the IDE drives
    for (j=0;j<4;j++){
        PIDSECTOR phdinfo;
        char s[41];
        
        ZeroMemory(&in,sizeof(in));
        ZeroMemory(&out,sizeof(out));
        if (j&1){
            in.irDriveRegs.bDriveHeadReg=0xb0;
        }else{
            in.irDriveRegs.bDriveHeadReg=0xa0;
        }
        if (vers.fCapabilities&(16>>j)){
            
            //We don't detect a ATAPI device.
          //  cout<<"Drive "<<(int)(j+1)<<" is a ATAPI device, we don't detect it"<<endl;
            continue;
        }else{
            in.irDriveRegs.bCommandReg=0xec;
        }
        in.bDriveNumber=j;
        in.irDriveRegs.bSectorCountReg=1;
        in.irDriveRegs.bSectorNumberReg=1;
        in.cBufferSize=512;
        if (!DeviceIoControl(h,DFP_RECEIVE_DRIVE_DATA,&in,sizeof(in),&out,sizeof(out),&i,0)){
          //  cout<<"DeviceIoControl failed:DFP_RECEIVE_DRIVE_DATA"<<endl;
            CloseHandle(h);
            return "";
        }
        phdinfo=(PIDSECTOR)out.bBuffer;
        memcpy(s,phdinfo->sModelNumber,40);
        s[40]=0;
        ChangeByteOrder(s,40);

		CloseHandle(h);
		return s;
		AfxMessageBox(s);
    /*
		//   cout<<endl<<"Module Number:"<<s<<endl;
        memcpy(s,phdinfo->sFirmwareRev,8);
        s[8]=0;
        ChangeByteOrder(s,8);
      //  cout<<"\tFirmware rev:"<<s<<endl;
        memcpy(s,phdinfo->sSerialNumber,20);
        s[20]=0;
        ChangeByteOrder(s,20);
      //  cout<<"\tSerial Number:"<<s<<endl;
       // cout<<"\tCapacity:"<<phdinfo->ulTotalAddressableSectors/2/1024<<"M"<<endl<<endl;
	   */
    }
    
    //Close handle before quit
   // CloseHandle(h);
   // CopyRight();
    return "";
}

CString hdidnt(){
    char hd[80];
    PIDSECTOR phdinfo;
    char s[41];
    
    ZeroMemory(&vers,sizeof(vers));
    //We start in NT/Win2000
	for (j=0;j<4;j++){
        sprintf(hd,"\\\\.\\PhysicalDrive%d",j);
        h=CreateFile(hd,GENERIC_READ|GENERIC_WRITE,
            FILE_SHARE_READ|FILE_SHARE_WRITE,0,OPEN_EXISTING,0,0);
        if (!h){
            continue;
        }
        if (!DeviceIoControl(h,DFP_GET_VERSION,0,0,&vers,sizeof(vers),&i,0)){
            CloseHandle(h);
            continue;
        }
        //If IDE identify command not supported, fails
        if (!(vers.fCapabilities&1)){
			//       cout<<"Error: IDE identify command not supported.";
            CloseHandle(h);
            return "";
        }
        //Identify the IDE drives
        ZeroMemory(&in,sizeof(in));
        ZeroMemory(&out,sizeof(out));
        if (j&1){
            in.irDriveRegs.bDriveHeadReg=0xb0;
        }else{
            in.irDriveRegs.bDriveHeadReg=0xa0;
        }
        if (vers.fCapabilities&(16>>j)){
            //We don't detect a ATAPI device.
			//     cout<<"Drive "<<(int)(j+1)<<" is a ATAPI device, we don't detect it"<<endl;
            
            continue;
        }else{
            in.irDriveRegs.bCommandReg=0xec;
        }
        in.bDriveNumber=j;
        in.irDriveRegs.bSectorCountReg=1;
        in.irDriveRegs.bSectorNumberReg=1;
        in.cBufferSize=512;
        if (!DeviceIoControl(h,DFP_RECEIVE_DRIVE_DATA,&in,sizeof(in),&out,sizeof(out),&i,0)){
			//    cout<<"DeviceIoControl failed:DFP_RECEIVE_DRIVE_DATA"<<endl;
            CloseHandle(h);
            return "";
        }
        phdinfo=(PIDSECTOR)out.bBuffer;
        memcpy(s,phdinfo->sModelNumber,40);
        s[40]=0;
        ChangeByteOrder(s,40);
		CloseHandle(h);
		return s;
		/*
        //cout<<endl<<"Module Number:"<<s<<endl;
        memcpy(s,phdinfo->sFirmwareRev,8);
        s[8]=0;
        ChangeByteOrder(s,8);
		// cout<<"\tFirmware rev:"<<s<<endl;
        memcpy(s,phdinfo->sSerialNumber,20);
        s[20]=0;
        ChangeByteOrder(s,20);
		// cout<<"\tSerial Number:"<<s<<endl;
		//  cout<<"\tCapacity:"<<phdinfo->ulTotalAddressableSectors/2/1024<<"M"<<endl<<endl;
        CloseHandle(h);*/
    }
	//   CopyRight();
	return "";
}

CString GetHardDisk(){
//    char szAddr[20];
//    GetMacAddress(szAddr);
//    AfxMessageBox(szAddr);
	
    OSVERSIONINFO VersionInfo;
    
    ZeroMemory(&VersionInfo,sizeof(VersionInfo));
    VersionInfo.dwOSVersionInfoSize=sizeof(VersionInfo);
    GetVersionEx(&VersionInfo);
    
    switch (VersionInfo.dwPlatformId){
    case VER_PLATFORM_WIN32s:
        return "";//cout<<"Win32s is not supported by this programm."<<endl;
        break;
    case VER_PLATFORM_WIN32_WINDOWS:
        return hdid9x();
        break;
    case VER_PLATFORM_WIN32_NT:
        return hdidnt();
        break;
	default:
		return "";
    }
    
    // TODO: Add your control notification handler code here
}


//cpu序號
CString GetProcessSerialNumber()
{
	try
	{
		int   sn_high, sn_middle, sn_low;
	//	char sn[97];
		
		__asm{
			MOV EAX, 1
				CPUID
				MOV sn_high, EAX
				MOV EAX, 3
				CPUID
				MOV sn_middle,EDX
				MOV sn_low, ECX
		}
		
		CString str;
		str.Format("%d-%d-%d", sn_high, sn_middle, sn_low);
		return str;
	}
	catch(...)
	{
		return "";
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
寂寞少妇一区二区三区| 综合精品久久久| 国产精品麻豆视频| 日韩av中文字幕一区二区三区| 东方欧美亚洲色图在线| 91麻豆精品国产自产在线 | 一区二区三区美女| 国产白丝精品91爽爽久久| 欧美色大人视频| 亚洲欧美综合色| 国产成人免费xxxxxxxx| 日韩欧美电影一区| 日韩在线一区二区三区| 在线观看亚洲成人| 亚洲视频一二区| 高清成人免费视频| 久久精品视频一区二区三区| 日韩电影在线观看电影| 99久久精品国产一区二区三区| 国产无一区二区| 久久激情五月激情| 日韩一区二区电影| 日韩综合小视频| 欧美日韩免费一区二区三区视频| 亚洲三级在线看| 91精品国产综合久久久久久久| 一区二区三区精品在线| 91在线视频官网| 亚洲欧洲无码一区二区三区| 成人黄色av电影| 国产精品午夜久久| 不卡电影免费在线播放一区| 国产精品欧美一区喷水| 成人sese在线| 国产精品传媒在线| 91香蕉国产在线观看软件| 中文字幕在线一区免费| 一本一本大道香蕉久在线精品| 亚洲美女一区二区三区| 欧美日韩在线亚洲一区蜜芽| 性做久久久久久久久| 91麻豆精品国产91| 九九在线精品视频| 久久久久97国产精华液好用吗| 国内精品自线一区二区三区视频| 久久免费午夜影院| 国产成人精品www牛牛影视| 欧美国产视频在线| 日本乱人伦一区| 一区二区三区国产| 在线播放日韩导航| 久久成人免费网| 久久久久免费观看| 成人免费毛片app| 亚洲在线视频网站| 欧美高清精品3d| 久草这里只有精品视频| 国产精品久久久久久妇女6080| 99久久精品99国产精品| 亚洲国产视频网站| 久久亚洲私人国产精品va媚药| 成人国产精品免费观看动漫| 亚洲成人精品一区| 久久精品人人做| 欧美伊人久久久久久久久影院| 美腿丝袜亚洲三区| 国产精品久久久久影院亚瑟| 欧美日韩激情一区二区三区| 国产老女人精品毛片久久| 亚洲日本在线a| 日韩欧美中文一区二区| www.欧美日韩| 最新日韩在线视频| 日韩一卡二卡三卡| 色噜噜偷拍精品综合在线| 美女网站视频久久| 亚洲欧美日韩国产成人精品影院| 欧美一区二区大片| 一本色道亚洲精品aⅴ| 国内成人自拍视频| 五月天丁香久久| 综合av第一页| 久久久国产一区二区三区四区小说 | 99国产精品久| 久久99国产精品麻豆| 亚洲美女精品一区| 久久精品日韩一区二区三区| 51精品秘密在线观看| 91在线高清观看| 国产在线精品一区二区夜色 | 色综合咪咪久久| 精品亚洲免费视频| 亚洲午夜久久久| 中文字幕一区二区在线播放| 欧美成va人片在线观看| 欧美亚洲丝袜传媒另类| 国产999精品久久久久久绿帽| 久久精品国产澳门| 奇米影视一区二区三区| 亚洲午夜激情av| 亚洲欧美日韩成人高清在线一区| 国产欧美日韩三级| 337p粉嫩大胆噜噜噜噜噜91av | 久久久久久久综合色一本| 欧美精品日韩精品| 在线观看网站黄不卡| 成人午夜激情影院| 高清在线成人网| 国产专区欧美精品| 久久国产精品无码网站| 日韩福利视频导航| 午夜激情一区二区三区| 亚洲一区二区三区四区不卡| 亚洲免费观看视频| 中文字幕一区二区三区四区不卡| 国产精品乱码妇女bbbb| 国产日本欧洲亚洲| 国产精品水嫩水嫩| 日本一区二区电影| 综合欧美亚洲日本| 悠悠色在线精品| 亚洲图片欧美综合| 亚洲bt欧美bt精品| 日韩电影在线免费| 狠狠色丁香婷婷综合久久片| 国产在线看一区| av午夜精品一区二区三区| 91在线观看下载| 在线观看精品一区| 91精品国模一区二区三区| 精品国精品自拍自在线| 久久久久久久久久久久久女国产乱| 久久久精品欧美丰满| 激情综合网av| 国产精品18久久久久久久久| 国产91精品精华液一区二区三区| av高清不卡在线| 欧美日韩aaaaa| 精品国产乱子伦一区| 国产精品麻豆视频| 亚洲国产精品综合小说图片区| 日韩一区精品视频| 国产一区二区91| 91理论电影在线观看| 欧美疯狂做受xxxx富婆| 久久综合色鬼综合色| 亚洲码国产岛国毛片在线| 午夜电影网亚洲视频| 极品尤物av久久免费看| 91视频免费播放| 欧美一区二区成人6969| 国产精品麻豆99久久久久久| 亚洲第一在线综合网站| 精品亚洲porn| 日本精品裸体写真集在线观看| 91精品国产综合久久小美女| 国产免费成人在线视频| 午夜不卡在线视频| 国模套图日韩精品一区二区| 在线观看免费亚洲| 亚洲精品一线二线三线无人区| 中文字幕中文字幕在线一区| 日韩成人免费看| 91在线云播放| 久久久99精品久久| 亚洲第一电影网| 国产精品综合在线视频| 91蝌蚪porny九色| 欧美大片在线观看| 亚洲一区二区三区免费视频| 国产精品影视网| 日韩欧美在线综合网| 亚洲精品免费一二三区| 国产精品中文字幕日韩精品| 欧美日韩第一区日日骚| 亚洲伦理在线精品| 成人午夜大片免费观看| 91精品国产欧美一区二区成人 | 婷婷久久综合九色综合绿巨人 | 激情综合网最新| 欧美福利视频一区| 一级做a爱片久久| 成人v精品蜜桃久久一区| 久久综合九色综合97婷婷 | 亚洲老妇xxxxxx| 国产成人午夜电影网| 精品美女在线观看| 亚洲第一主播视频| 日本高清不卡视频| 亚洲欧美一区二区三区孕妇| 国产盗摄视频一区二区三区| 精品国产免费人成在线观看| 日韩专区一卡二卡| 欧美精品777| 午夜伊人狠狠久久| 欧美性生交片4| 亚洲曰韩产成在线| 欧美在线啊v一区| 亚洲自拍偷拍九九九| 欧美亚洲国产一区二区三区|