|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Как снять характеристики с компа |
|
|
C/C++ - Как снять характеристики с компа
|
|
lehha
Сообщения: n/a |
Всем привет!!!
Подскажите как лутше снять основные характеристики железа, а именно объем HDD, ОЗУ, тип процессора его частоту, MAC адрес, видео карта. К примеру тип проца можно выдрать из реестра по ветке HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\ Информацию о вичестере можа узнать с помощью функций GetVolumeInformation GetDiskFreeSpace - или чемто подобным Одним словом каким образм это можно узнать, как и где лутше это посмотреть в реестре или еще гдето. Лутше кончечно это сделать с помощью апи функций. Спаибо за рание. |
|
|
Отправлено: 11:12, 12-12-2005 |
|
lehha
Сообщения: n/a |
Итак покопавшись в MSDN нашел следующее
Computer System Hardware Classes - классы отвечающие за комп-е железо вот ссылка на их описалово (локальный MSDN 2003) ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/wmisdk/wmi/computer_system_hardware_classes.htm#_hmm_networking_device_classes а вот ссылка в инете Спасибо всем если у кого то будут еще предложения пишите. |
|
Отправлено: 11:51, 12-12-2005 | #2 |
|
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Что-то можно собрать так:
http://msdn.microsoft.com/library/de..._reference.asp |
|
Отправлено: 11:51, 12-12-2005 | #3 |
|
lehha
Сообщения: n/a |
Если кого интересует как работают WMI классы вот пример кода который глядит имена cdrom - ов
#include "stdafx.h"
#define _WIN32_DCOM
#include <windows.h>
#include <vector>
#include <iostream>
#include <comdef.h>
#include <Wbemidl.h>
#pragma comment( lib, "Wbemuuid.lib" )
int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hr;
IWbemClassObject * pObject = NULL;
IWbemServices * pService = NULL;
IWbemLocator * pLocator = NULL;
IEnumWbemClassObject * pEnum = NULL;
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
CoInitializeSecurity(NULL, -1, NULL, NULL,
RPC_C_AUTHN_LEVEL_CONNECT,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL, EOAC_NONE, 0);
hr = CoCreateInstance( CLSID_WbemLocator, 0, CLSCTX_ALL,
IID_IWbemLocator, (void**) &pLocator);
if (FAILED(hr))
{
throw("Лажа не создано");
::CoUninitialize();
return -1;
}
hr = pLocator->ConnectServer( _bstr_t(L"root\\cimv2"),NULL,
NULL,NULL,NULL,NULL,NULL,&pService);
if (FAILED(hr))
{
throw("Лажа нет конеткта");
pLocator->Release();
::CoUninitialize();
return -1;
}
hr = pService->ExecQuery( _bstr_t(L"WQL"),
_bstr_t(L"SELECT * FROM Win32_CDROMDrive"),
WBEM_FLAG_RETURN_IMMEDIATELY |
WBEM_FLAG_FORWARD_ONLY,
0, &pEnum );
if (FAILED(hr))
{
throw("Лажа несработал запрос");
pService->Release();
pLocator->Release();
::CoUninitialize();
return -1;
}
ULONG uReturn = 0;
while (pEnum)
{
hr = pEnum->Next(WBEM_INFINITE, 1, &pObject, &uReturn);
if(0 == uReturn)
{
break;
}
VARIANT vtProp;
VariantInit(&vtProp);
hr = pObject->Get(L"Name", 0, &vtProp, 0, 0);
std::wcout << " Name : " << vtProp.bstrVal << std::endl;
VariantClear(&vtProp);
}
pLocator->Release();
::CoUninitialize();
return 0;
}
|
|
Отправлено: 16:19, 14-12-2005 | #4 |
|
Пользователь Сообщения: 133
|
Профиль | Сайт | Отправить PM | Цитировать Добрый, день.
Мне необходимо на С++ с помощью WinApi (желательно без использования WMI и NetBIOS) определить MAC-адрес физических сетевых карт на локальном компьютере. Как определить адреса всех карт - физических и виртуальных, я разобрался. А вот как отфильтровать, не знаю. Пользуюсь функцией: В структуре IP_ADAPTER_INFO, полей указывающих на то, что это физический адаптер или нет- не нашел. Может кто сталкивался с подобной проблемой, подскажите пожалуйста))) |
|
|
------- Отправлено: 11:58, 22-10-2009 | #5 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Как снять скриншот с видео | Ser6720 | Хочу все знать | 28 | 22-08-2010 23:24 | |
| Как снять защиту системы? | firedevil | Хочу все знать | 4 | 26-01-2010 22:23 | |
| Как снять пароль? | scraches | Программное обеспечение Windows | 1 | 24-05-2008 20:41 | |
| Как изменить характеристики видеофайла: яркость, контрастность, цветность | mrcnn | Видео и аудио: обработка и кодирование | 2 | 31-01-2008 09:00 | |
| Как снять защиту с документов | SYSANIN | Хочу все знать | 4 | 08-06-2005 03:15 | |
|