现在的位置: 首页 > 综合 > 正文

搜 索 计 算 机 中 所 有 驱 动 器

2013年01月05日 ⁄ 综合 ⁄ 共 706字 ⁄ 字号 评论关闭
void FindDriverInfo()

{

CComboBox* Driver=(CComboBox*)GetDlgItem(IDC_DRIVER);

DWORD dwNumBytesForDriveStrings;

HANDLE hHeap;

LPSTR lp;

CString strLogdrive;

int nNumDrives=0, nDriveNum;

dwNumBytesForDriveStrings=GetLogicalDriveStrings(0,NULL)

       *sizeof(TCHAR);//实际存储驱动器号的字符串长度

if (dwNumBytesForDriveStrings!=0) {

hHeap=GetProcessHeap();

lp=(LPSTR)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,

         dwNumBytesForDriveStrings);//

GetLogicalDriveStrings(HeapSize(hHeap,0,lp),lp);

StringBox.SetSize(dwNumBytesForDriveStrings/sizeof(TCHAR)+1);

while (*lp!=0) {

if (GetDriveType(lp)==DRIVE_REMOVABLE){

Driver->AddString(lp);

StringBox[nNumDrives]=lp;

nNumDrives++;

}

lp=_tcschr(lp,0)+1;

}

}

else AfxMessageBox("Can't Use The Function GetLogicalDriveStrings!");

}

抱歉!评论已关闭.