ÄãºÃ£¬»¶Ó­À´µ½µçÄÔ±à³Ì¼¼ÇÉÓëά»¤ÔÓÖ¾É磡 ÔÓÖ¾Éç¼ò½é©¦¹ã¸æ·þÎñ©¦¶ÁÕß·´À¡©¦±à³ÌÉçÇø  
ºÏ¶©±¾¶©ÔÄ
 
 
ÄúµÄλÖ㺼¼ÊõרÀ¸ / Linux¿ª·¢
ÓÃSetupAPI½áºÏ×¢²á±í»ñÈ¡USBÓÅÅÌÐòÁкÅ
 

//---------------------------------------------------------------------------
#include<setupapi.h>
#include<stdio.h>
#include<objbase.h>
#ifndef__BORLANDC__
#pragmacomment(lib,"setupapi.lib")
#endif
//---------------------------------------------------------------------------
charg_strCrnVerify[]=
{
¡¡¡¡0xBB,0xB6,0xD3,0xAD,0xB9,0xE2,0xC1,0xD9,0x20,0x43,
¡¡¡¡0x2B,0x2B,0x42,0x75,0x69,0x6C,0x64,0x65,0x72,0xD1,
¡¡¡¡0xD0,0xBE,0xBF,0x20,0x2D,0x20,0x68,0x74,0x74,0x70,
¡¡¡¡0x3A,0x2F,0x2F,0x77,0x77,0x77,0x2E,0x63,0x63,0x72,
¡¡¡¡0x75,0x6E,0x2E,0x63,0x6F,0x6D
};
//---------------------------------------------------------------------------
voidCrnReplaceString(LPSTRlpBuf,charc1,charc2)
{
¡¡¡¡intnLen=strlen(lpBuf);
¡¡¡¡LPSTRlpTemp=newchar[nLen];
¡¡¡¡memset(lpTemp,0,nLen);
¡¡¡¡intj=0;
¡¡¡¡for(inti=0;i<nLen;i++)
¡¡¡¡{
¡¡¡¡¡¡¡¡if(lpBuf[i]==c1)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡if(c2!=0x00)
¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpTemp[j]=c2;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡j++;
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡lpTemp[j]=lpBuf[i];
¡¡¡¡¡¡¡¡¡¡¡¡j++;
¡¡¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡//
¡¡¡¡memset(lpBuf,0,nLen);
¡¡¡¡strncpy(lpBuf,lpTemp,nLen);
¡¡¡¡delete[]lpTemp;
}
//---------------------------------------------------------------------------
//»ñȡָ¶¨ÅÌ·ûµÄÐòÁкÅ(Õë¶ÔUSBÓÅÅÌÓÐЧ)
//charcDiskID:Ö¸¶¨ÅÌ·û£¬Èç'L'
//LPSTRlpPID:ÐòÁкŴæ·ÅµÄ»º³å£¬ÈçcharszPID[32]
//byccrun(ÀÏÑý)info@ccrun.com
//---------------------------------------------------------------------------
boolCrnGetUSBDiskID(charcDiskID,LPSTRlpPID)
{
¡¡¡¡charszDrv[4];
¡¡¡¡sprintf(szDrv,"%c:\",cDiskID);
¡¡¡¡if(GetDriveType(szDrv)!=DRIVE_REMOVABLE)
¡¡¡¡{
¡¡¡¡¡¡¡¡MessageBox(0,"Ö¸¶¨µÄÅ̲»ÊÇÓÐЧµÄÓÅÅÌ.",
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡"´íÎó",MB_OK|MB_ICONWARNING);
¡¡¡¡¡¡¡¡returnfalse;
¡¡¡¡}
¡¡¡¡charlpRegPath[512]={0};
¡¡¡¡charlpRegValue[256]={0};
¡¡¡¡sprintf(lpRegPath,"SYSTEM\MountedDevices");
¡¡¡¡sprintf(lpRegValue,"\DosDevices\%c:",cDiskID);
¡¡¡¡//
¡¡¡¡DWORDdwDataSize(0);
¡¡¡¡DWORDdwRegType(REG_BINARY);
¡¡¡¡LPBYTElpRegBinData(NULL);
¡¡¡¡LPSTRlpUSBKeyData(NULL);
¡¡¡¡//²éѯע²á±íÖÐÓ³ÉäÇý¶¯Æ÷µÄÉ豸ÐÅÏ¢
¡¡¡¡HKEYhKey;
¡¡¡¡longlRet=::RegOpenKeyEx(
¡¡¡¡¡¡¡¡¡¡¡¡HKEY_LOCAL_MACHINE,//rootkey
¡¡¡¡¡¡¡¡¡¡¡¡lpRegPath,//Òª·ÃÎʵļüµÄλÖÃ
¡¡¡¡¡¡¡¡¡¡¡¡0,¡¡¡¡¡¡¡¡//
¡¡¡¡¡¡¡¡¡¡¡¡KEY_READ,¡¡//ÒÔ²éѯµÄ·½Ê½·ÃÎÊ×¢²á±í
¡¡¡¡¡¡¡¡¡¡¡¡&hKey);¡¡¡¡//hKEY±£´æ´Ëº¯ÊýËù´ò¿ªµÄ¼üµÄ¾ä±ú
¡¡¡¡if(lRet!=ERROR_SUCCESS)
¡¡¡¡¡¡¡¡returnfalse;
¡¡¡¡else
¡¡¡¡{
¡¡¡¡¡¡¡¡lRet=::RegQueryValueEx(hKey,//Ëù´ò¿ªµÄ¼üµÄ¾ä±ú
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpRegValue,¡¡¡¡//Òª²éѯµÄ¼üÖµÃû
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwRegType,¡¡¡¡//²éѯÊý¾ÝµÄÀàÐÍ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpRegBinData,¡¡//±£´æËù²éѯµÄÊý¾Ý
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwDataSize);¡¡//Ô¤ÉèÖõÄÊý¾Ý³¤¶È
¡¡¡¡¡¡¡¡if(lRet!=ERROR_SUCCESS)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡::RegCloseKey(hKey);
¡¡¡¡¡¡¡¡¡¡¡¡returnfalse;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡lpRegBinData=newBYTE[dwDataSize];
¡¡¡¡¡¡¡¡¡¡¡¡lpUSBKeyData=newchar[dwDataSize];
¡¡¡¡¡¡¡¡¡¡¡¡memset(lpUSBKeyData,0,dwDataSize);
¡¡¡¡¡¡¡¡¡¡¡¡lRet=::RegQueryValueEx(hKey,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpRegValue,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwRegType,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpRegBinData,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwDataSize);
¡¡¡¡¡¡¡¡¡¡¡¡if(lRet!=ERROR_SUCCESS)
¡¡¡¡¡¡¡¡¡¡¡¡{
// ±¾ÎÄת×Ô C++Builder Ñо¿ - http://www.ccrun.com/article.asp?i=1021&d=fgp83l
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡delete[]lpRegBinData;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡delete[]lpUSBKeyData;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡::RegCloseKey(hKey);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡returnfalse;
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡::RegCloseKey(hKey);
¡¡¡¡//¹ýÂ˶þ½øÖÆ´®ÖеÄÎÞÓÃÐÅÏ¢(½«0x0×Ö·ûÈ¥³ý)
¡¡¡¡intj=0;
¡¡¡¡for(DWORDi=0;i<dwDataSize;i++)
¡¡¡¡{
¡¡¡¡¡¡¡¡if(lpRegBinData[i]!=0x0)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡lpUSBKeyData[j]=lpRegBinData[i];
¡¡¡¡¡¡¡¡¡¡¡¡j++;
¡¡¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡delete[]lpRegBinData;
¡¡¡¡//I'msorry:YoucanremoveunderlineinyourCode.
¡¡¡¡MessageBox(0,g_strCrnVerify,"CrnGetUSBDiskID",0);
¡¡¡¡//I'msorry:Onlyfor[ZhuanTieBuLiuMing].--#
¡¡¡¡// ½ØÈ¡lpUSBKeyDataÖеÄÓÐÓÃÐÅÏ¢,Àý:7&100a16f&0
¡¡¡¡// ??STORAGE#RemovableMedia#7&100a16f&0&RM#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
¡¡¡¡// 63 63 72 75 6E 2E 63 6F 6D
¡¡¡¡LPSTRlpPos1=strstr(lpUSBKeyData,"#RemovableMedia#")+16;
¡¡¡¡LPSTRlpPos2=strstr(lpUSBKeyData,"RM");
¡¡¡¡strncpy(lpUSBKeyData,lpPos1,int(lpPos2)-int(lpPos1));
¡¡¡¡lpUSBKeyData[int(lpPos2)-int(lpPos1)-1]=0x0;
¡¡¡¡strcpy(lpUSBKeyData,strupr(lpUSBKeyData));
¡¡¡¡//DiskDevice(´ÅÅÌÉ豸)µÄGUID
¡¡¡¡GUIDguidUSB;
¡¡¡¡CLSIDFromString(L"{53f56307-b6bf-11d0-94f2-00a0c91efb8b}",&guidUSB);
¡¡¡¡//
¡¡¡¡HDEVINFOhUSB=SetupDiGetClassDevs(
¡¡¡¡¡¡¡¡¡¡¡¡&guidUSB,NULL,0,DIGCF_PRESENT|DIGCF_DEVICEINTERFACE);
¡¡¡¡if(hUSB==INVALID_HANDLE_VALUE)
¡¡¡¡{
¡¡¡¡¡¡¡¡delete[]lpUSBKeyData;
¡¡¡¡¡¡¡¡returnfalse;
¡¡¡¡}
¡¡¡¡//
¡¡¡¡intnDevIndex=0;
¡¡¡¡boolbSuccess;
¡¡¡¡SP_DEVINFO_DATADevData;
¡¡¡¡SP_DEVICE_INTERFACE_DATADevIntData;
¡¡¡¡PSP_DEVICE_INTERFACE_DETAIL_DATAlpDevIntDetailData;
¡¡¡¡DWORDdwBytesReturned;
¡¡¡¡//±éÀú´ÅÅÌÉ豸
¡¡¡¡do
¡¡¡¡{
¡¡¡¡¡¡¡¡DevIntData.cbSize=sizeof(SP_DEVICE_INTERFACE_DATA);
¡¡¡¡¡¡¡¡bSuccess=SetupDiEnumDeviceInterfaces(hUSB,NULL,&guidUSB,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nDevIndex,&DevIntData)>0;
¡¡¡¡¡¡¡¡if(bSuccess)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡//»ñÈ¡½Ó¿ÚÏêϸÐÅÏ¢
¡¡¡¡¡¡¡¡¡¡¡¡DevData.cbSize=sizeof(SP_DEVINFO_DATA);
¡¡¡¡¡¡¡¡¡¡¡¡dwBytesReturned=0;
¡¡¡¡¡¡¡¡¡¡¡¡SetupDiGetDeviceInterfaceDetailA(hUSB,&DevIntData,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL,0,&dwBytesReturned,&DevData);
¡¡¡¡¡¡¡¡¡¡¡¡if(dwBytesReturned!=0&&GetLastError()==ERROR_INSUFFICIENT_BUFFER)
¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpDevIntDetailData=(PSP_DEVICE_INTERFACE_DETAIL_DATA)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GlobalAlloc(GMEM_FIXED,dwBytesReturned);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpDevIntDetailData->cbSize=
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if(SetupDiGetDeviceInterfaceDetailA(hUSB,&DevIntData,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpDevIntDetailData,dwBytesReturned,&dwBytesReturned,&DevData))
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//È¡µÃÉ豸½Ó¿ÚÏêϸÐÅÏ¢²¢¸ù¾Ýת»¯ºóµÄ·¾¶ÔÚ×¢²á±íÖвéѯ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPSTRlpPathTemp=newchar[strlen(lpDevIntDetailData->DevicePath)+256];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strcpy(lpRegPath,"SYSTEM\CurrentControlSet\Enum\");
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strcpy(lpPathTemp,lpDevIntDetailData->DevicePath);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpPos1=LPSTR(int(lpPathTemp)+4);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpPos2=LPSTR(int(strstr(lpPathTemp,"{"))-1);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strncpy(lpPathTemp,lpPos1,int(lpPos2)-int(lpPos1));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpPathTemp[int(lpPos2)-int(lpPos1)]=0x0;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CrnReplaceString(lpPathTemp,'#','\');
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strcat(lpRegPath,lpPathTemp);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if(RegOpenKeyEx(
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HKEY_LOCAL_MACHINE,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpRegPath,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡KEY_READ,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&hKey)==ERROR_SUCCESS)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dwRegType=REG_SZ;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPSTRlpRegSzData=NULL;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dwDataSize=0;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lRet=::RegQueryValueEx(hKey,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡"ParentIdPrefix",
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwRegType,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(LPBYTE)lpRegSzData,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwDataSize);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if(lRet==ERROR_SUCCESS)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpRegSzData=newchar[dwDataSize];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lRet=::RegQueryValueEx(hKey,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡"ParentIdPrefix",
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwRegType,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(LPBYTE)lpRegSzData,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡&dwDataSize);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if(lRet==ERROR_SUCCESS)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strcpy(lpRegSzData,strupr(lpRegSzData));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if(!strcmp(lpUSBKeyData,lpRegSzData))
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¾­±È¶Ô£¬ÕÒµ½Òª²éѯµÄ´ÅÅÌÉ豸
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strcpy(lpPathTemp,LPSTR(int(strstr(
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpDevIntDetailData->DevicePath,"#"))+1));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpPos1=LPSTR(int(strstr(lpPathTemp,"#"))+1);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpPos2=LPSTR(int(strstr(lpPathTemp,"#{")));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strncpy(lpPathTemp,lpPos1,int(lpPos2)-int(lpPos1));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpPathTemp[int(lpPos2)-int(lpPos1)]=0x0;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//»ñÈ¡×îÖյĴÅÅÌÐòÁкÅ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CrnReplaceString(lpPathTemp,'&',0x00);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if(lpPID)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡strncpy(lpPID,strupr(lpPathTemp),32);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡delete[]lpRegSzData;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡delete[]lpPathTemp;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GlobalFree(lpDevIntDetailData);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡::RegCloseKey(hKey);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡delete[]lpRegSzData;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡::RegCloseKey(hKey);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡delete[]lpPathTemp;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nDevIndex++;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GlobalFree(lpDevIntDetailData);
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡}while(bSuccess);
¡¡¡¡SetupDiDestroyDeviceInfoList(hUSB);
¡¡¡¡delete[]lpUSBKeyData;
¡¡¡¡returntrue;
}
//---------------------------------------------------------------------------
void__fastcallTForm1::Button1Click(TObject*Sender)
{
¡¡¡¡charlpPID[32];
¡¡¡¡if(CrnGetUSBDiskID('L',lpPID))
¡¡¡¡¡¡¡¡ShowMessage(lpPID);
}

(±à¼­:Aniston)

  ÍƼö¾«Æ·ÎÄÕÂ

¡¤2024Äê12ÔÂĿ¼ 
¡¤2024Äê11ÔÂĿ¼ 
¡¤2024Äê10ÔÂĿ¼ 
¡¤2024Äê9ÔÂĿ¼ 
¡¤2024Äê8ÔÂĿ¼ 
¡¤2024Äê7ÔÂĿ¼ 
¡¤2024Äê6ÔÂĿ¼ 
¡¤2024Äê5ÔÂĿ¼ 
¡¤2024Äê4ÔÂĿ¼ 
¡¤2024Äê3ÔÂĿ¼ 
¡¤2024Äê2ÔÂĿ¼ 
¡¤2024Äê1ÔÂĿ¼
¡¤2023Äê12ÔÂĿ¼
¡¤2023Äê11ÔÂĿ¼

  ÁªÏµ·½Ê½
TEL£º010-82561037
Fax: 010-82561614
QQ: 100164630
Mail£ºgaojian@comprg.com.cn

  ÓÑÇéÁ´½Ó
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
¾©ICP±¸14022230ºÅ-1,µç»°/´«Õ棺010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
µØÖ·£º±±¾©Êк£µíÇøÔ¶´ó·20ºÅ±¦À¶´óÏÃE×ù704£¬Óʱࣺ100089¡¡