혹 델파이 2006이상이 가능하면
http://code.google.com/p/tsmbios/
라이브러리로 가져올 수 있습니다.
참고하셔요.
압9정 님이 쓰신 글 :
: 안녕하세염.^^ 제가 RAM카드의 정보를 가져올려고 API중에 Win32_PhysicalMemory class에서 가져올려고 했습니다.. 그런데 여기
:
: 서는 RAM카드 갯수나 제조회사, Part Number, Serial Number 만 가져오는게 됬습니다.ㅠ 제가 가져오고 싶은 정보는 위의 사진
:
: 에 있는 Module Size(4096 MBytes), Max Bandwidth(PC3-10700( 667MHz))등의 성능 정보를 가져오려고 합니다.
:
: 혹시 방법을 아시는 분 있나요??
:
: 밑에는 Win32_PhysicalMemory에서 제조회사와 Serial Number를 가져오는 소스입니다.^^
:
: void GetAPI()
: {
: HRESULT hres;
:
: hres = CoInitializeEx(0, COINIT_MULTITHREADED);
: //if (FAILED(hres))
: CoInitializeSecurity(
: NULL,
: -1,
: NULL,
: NULL,
: RPC_C_AUTHN_LEVEL_DEFAULT,
: RPC_C_IMP_LEVEL_IMPERSONATE,
: NULL,
: EOAC_NONE,
: NULL
: );
: //if (FAILED(hres))
: IWbemLocator *pLoc = NULL;
:
: CoCreateInstance(
: CLSID_WbemAdministrativeLocator,
: 0,
: CLSCTX_INPROC_SERVER,
: IID_IWbemLocator,
: (LPVOID *) &pLoc
: );
: //if (FAILED(hres))
: IWbemServices *pSvc = NULL;
:
: pLoc->ConnectServer(
: _bstr_t(L"ROOT\\CIMV2"),
: NULL,
: NULL,
: 0,
: NULL,
: 0,
: 0,
: &pSvc
: );
: //if (FAILED(hres))
: //"Connected to ROOT\\CIMV2 WMI namespace"
: CoSetProxyBlanket(
: pSvc,
: RPC_C_AUTHN_WINNT,
: RPC_C_AUTHZ_NONE,
: NULL,
: RPC_C_AUTHN_LEVEL_CALL,
: RPC_C_IMP_LEVEL_IMPERSONATE,
: NULL,
: EOAC_NONE
: );
: //if (FAILED(hres))
: IEnumWbemClassObject* pEnumerator = NULL;
:
: pSvc->ExecQuery(
: bstr_t("WQL"),
: bstr_t("SELECT * FROM Win32_PhysicalMemory"),
: WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
: NULL,
: &pEnumerator
: );
: //if (FAILED(hres))
: IWbemClassObject *pclsObj = NULL;
: ULONG uReturn = 0;
:
: if(pEnumerator)
: {
: pEnumerator->Reset();
: pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);
: if(uReturn != 0)
: {
: VARIANT vtProp;
: String arr_InfoList[] = {
: L"Manufacturer",
: L"PartNumber",
: L"SerialNumber",
: };
:
: for(int nIndex = 0; nIndex < sizeof(arr_InfoList); nIndex++)
: {
: ZeroMemory(&vtProp, sizeof(vtProp));
: pclsObj->Get(arr_InfoList[nIndex].w_str(), 0, &vtProp, 0, 0);
: if (vtProp.bstrVal)
: {
: Main->Memo1->Lines->Add(vtProp.bstrVal); //String형 데이터
: VariantClear(&vtProp);
: }
: Application->ProcessMessages();
: }
: pclsObj->Release();
: pclsObj=NULL;
: }
: }
:
: pSvc->Release();
: pLoc->Release();
: if(pEnumerator) pEnumerator->Release();
: if(pclsObj) pclsObj->Release();
: CoUninitialize();
: }