C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[69254] Re:Re:Re:Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여?(사진)
압9정 [] 2122 읽음    2013-03-19 15:50
Lyn 님이 쓰신 글 :
: 용량은 Capacity고
: 속도는 DataWidth 겠네요
:
: 압9정 님이 쓰신 글 :
: : 거기서 가져온건데요.ㅠㅠ
: : odule Size(4096 MBytes), Max Bandwidth(PC3-10700( 667MHz)) 이 두정보가 없더라구요...ㅠㅠㅠ
: :
: : Lyn 님이 쓰신 글 :
: : : http://msdn.microsoft.com/en-us/library/windows/desktop/aa394347(v=vs.85).aspx
: : :
: : : 여기에 가져올수 있는정보의 모든 리스트가 나열되어있습니다.
: : :
: : : 압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();
: : : : }

+ -

관련 글 리스트
69247 CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? 압9정 2253 2013/03/19
69256     Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? 김도완 2241 2013/03/19
69255     Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? 꼬부기 1902 2013/03/19
69249     Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? Lyn 2084 2013/03/19
69251         Re:Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? 압9정 2158 2013/03/19
69252             Re:Re:Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? Lyn 2123 2013/03/19
69254                 Re:Re:Re:Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여?(사진) 압9정 2122 2013/03/19
69253                 Re:Re:Re:Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? 압9정 2038 2013/03/19
69250         Re:Re:CPU-Z의 RAM 정보를 가져오는 방법이 있을까여? 압9정 1994 2013/03/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.