для начала проверь определяет ли твою флеху система. Это можно сделать так. 1. Подключаешь библиотеку 2a.Создаешь GUID | Код | void __fastcall TMainForm::SetGUID(GUID newGUID) { m_GUID = newGUID; }
| 2b.Прописываешь в h. файл | Код | protected: GUID m_GUID;
| 3a.Попроси вернуть устройства присутствующие в данный момент в системе.
| Код | void __fastcall TMainForm::Button1Click(TObject *Sender) {SP_DEVINFO_DATA DeviceInfoData; DWORD i; Memo1->Clear(); HDEVINFO hDevInfo = SetupDiGetClassDevs(&m_GUID, NULL, // Enumerator NULL, DIGCF_PRESENT | DIGCF_ALLCLASSES ); if (hDevInfo == INVALID_HANDLE_VALUE) { return; } DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i, &DeviceInfoData);i++) { DWORD DataT; LPTSTR buffer = NULL; DWORD buffersize = 0; while (!SetupDiGetDeviceRegistryProperty( hDevInfo, &DeviceInfoData, SPDRP_DEVICEDESC, &DataT, (PBYTE)buffer, buffersize, &buffersize)) { if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) { if (buffer) LocalFree(buffer); buffer = (char*)LocalAlloc(LPTR,buffersize); } else { break; } } Memo1->Lines->Add(buffer); if (buffer) LocalFree(buffer); } if ( GetLastError()!=NO_ERROR && GetLastError()!=ERROR_NO_MORE_ITEMS ) { } SetupDiDestroyDeviceInfoList(hDevInfo); }
|
3b.Прописываем в h. файл
| Код | private: void __fastcall TMainForm::SetGUID(GUID newGUID);
| |