Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
 Аватар для lanu4
15 / 15 / 5
Регистрация: 21.08.2012
Сообщений: 115
Записей в блоге: 2

Информация о железе Builder XE2

08.04.2014, 07:39. Показов 4209. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Подскажите пожалуйста, как и какими средствами можно получить: марку процессора, видеокарты, материнки и т.д.? Среда Builder XE2
Подскажите куда копать!?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2014, 07:39
Ответы с готовыми решениями:

История активности файла. (C++ Builder 6, C++ Builder XE2)
Здравствуйте. Пришла идея написать программу для выявления истории активности файла, например есть файл *.exe и нужно посмотреть какие...

С++Builder XE2 + JSON
Принимаю json пакеты, до этого хитрил с регулярками или писал простенькие парсеры, но сейчас сложность пакетов возросла, да и левых...

Книги по C++ Builder XE2
Здравствуйте. Скачал C++ Builder XE2, запустил и задался вопросом где бы книгу найти хорошую по C++ Builder XE2, например самоучитель или...

31
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
25.03.2016, 20:12
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от JoniRich Посмотреть сообщение
0x80041003
это WBEM_E_ACCESS_DENIED, с расшифровкой:
Current user does not have permission to perform the action.
У тебя часом не WinXP? Там, насколько я помню, нужно было вызывать CoInitializeSecurity с другими параметрами, иначе WMI работал нестабильно, причем ошибка была именно 0x80041003. Нужно было поменять 6-ой параметр, и сделать так:
C++
1
2
    hres = CoInitializeSecurity(NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_DEFAULT,
        RPC_C_IMP_LEVEL_DELEGATE, NULL, EOAC_NONE, NULL);
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 30
25.03.2016, 21:05
Теперь выдает следующее:
Материнская плата:
0x80041003
и так по всем параметрам

Добавлено через 1 минуту
нет у меня 10 Windows

Добавлено через 6 минут
попробовал и этот код, все тоже выдает ((
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
25.03.2016, 22:26
Ну, на Win10 я ничего тестировать не могу, ибо в глаза ее не видел. Может, там что-то изменилось.
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 30
26.03.2016, 00:43
странно то что изначально работало, потом добавил еще процессы и всё, перестало выдавать инфо

Добавлено через 1 час 58 минут
создал новую форму для теста там все хорошо показывает, у меня же категорически -нет
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
26.03.2016, 01:56
JoniRich, а если добавить вот этот вызов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
void GetWmiInfo(TStrings *L, wchar_t* wsQuery)
{
    HRESULT hres;
    hres = CoInitializeSecurity(NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_DEFAULT,
        RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL);
 
    IWbemLocator *pWbemLocator = NULL; // провайдер
    if (CoCreateInstance(CLSID_WbemAdministrativeLocator, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
        IID_IUnknown, (void**)&pWbemLocator) == S_OK)
    {
        IWbemServices *pWbemServices = NULL;
        wchar_t* wsNamespace = (L"ROOT\\CIMV2");
        if (pWbemLocator->ConnectServer(wsNamespace, NULL, NULL, NULL, 0, NULL, NULL, &pWbemServices) == S_OK)
        {
            if (CoSetProxyBlanket(pWbemServices, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL,
                RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE) == S_OK)
            {
                IEnumWbemClassObject *pEnumClassObject = NULL;
                wchar_t* wsWQL = L"WQL";
                if (pWbemServices->ExecQuery(wsWQL, wsQuery, WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumClassObject) == S_OK)
                {
                    IWbemClassObject *pClassObject = NULL;
                    ULONG uCount = 1, uReturned = 0;
                    if (pEnumClassObject->Reset() == S_OK)
                    {
                        int iEnumIdx = 0;
                        hres = pEnumClassObject->Next(WBEM_INFINITE, uCount, &pClassObject, &uReturned);
                        while (hres == S_OK)
                        {
                            L->Add("[" + IntToStr(iEnumIdx) + "]");
                            SAFEARRAY *pvNames = NULL;
                            if (pClassObject->GetNames(NULL, WBEM_FLAG_ALWAYS | WBEM_MASK_CONDITION_ORIGIN, NULL, &pvNames) == S_OK)
                            {
                                long vbl, vbu;
                                SafeArrayGetLBound(pvNames, 1, &vbl);
                                SafeArrayGetUBound(pvNames, 1, &vbu);
                                for (long idx = vbl; idx <= vbu; idx++)
                                {
                                    long aidx = idx;
                                    wchar_t *wsName = 0;
                                    VARIANT vValue;
                                    VariantInit(&vValue);
                                    SafeArrayGetElement(pvNames, &aidx, &wsName);
                                    BSTR bs = SysAllocString(wsName);
                                    HRESULT hRes = pClassObject->Get(bs, 0, &vValue, NULL, 0);
                                    SysFreeString(bs);
                                    if (hRes == S_OK)
                                    {
                                        AnsiString s;
                                        Variant v = *(Variant*)&vValue;
                                        if (v.IsArray())
                                        {
                                            for (int i = v.ArrayLowBound(); i <= v.ArrayHighBound(); i++)
                                            {
                                                Variant a = v.GetElement(i);
                                                if (!s.IsEmpty())
                                                    s += ", ";
                                                s += VarToStr(a);
                                            }
                                        }
                                        else
                                        {
                                            s = VarToStr(v);
                                        }
                                        L->Add(AnsiString(wsName) + "=" + s);
                                    }
                                    VariantClear(&vValue);
                                    SysFreeString(wsName);
                                }
                            }
                            if (pvNames)
                                SafeArrayDestroy(pvNames);
                            iEnumIdx++;
                            hres = pEnumClassObject->Next(WBEM_INFINITE, uCount,
                                &pClassObject, &uReturned);
                        } // WHILE
                        if (hres != S_OK)
                            L->Add((hres & 0xFFFF));
                    } // pEnumClassObject->Reset()
                    if (pClassObject)
                        pClassObject->Release();
                }
                if (pEnumClassObject)
                    pEnumClassObject->Release();
            }
        }
        if (pWbemServices)
            pWbemServices->Release();
    }
    if (pWbemLocator)
        pWbemLocator->Release();
}
(15-16 строки, но лучше всю функцию скопировать) - то что будет? В принципе, если оно работало и потом перестало, то добавленный вызов должен восстановить работоспособность.
1
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 30
26.03.2016, 03:22
Спасибо Вам, перешел на Builder 10 Siattle, работает все стабильно, но вот только информацию выдает скупую
материнская плата:
[0]
Name=Основная плата
1
Процессор:
[0]
Name=Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
1

Добавлено через 9 минут
в 6-ом билдере тоже заработало
изменил код
с
C++
1
2
3
4
{
wchar_t* ss = L"select Name *from WIN32_BaseBoard";
    GetWmiInfo(Memo1->Lines, ss);
}
на
C++
1
2
3
4
{
wchar_t* ss = L"select Name from WIN32_BaseBoard";
    GetWmiInfo(Memo1->Lines, ss);
}
но информация как выше описал такая же скупая, раньше и серийники показывал и характеристики...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
26.03.2016, 03:26
Ну так ты не только Name выводи. Выведи всю информацию:
"select * from Win32_Processor", то же самое и о Win32_BaseBoard.

У материнки в Manufacturer, Product, Version выдается информация, мне ,например, показывает:
Manufacturer=ASUSTeK Computer INC.
Product=P5QPL-AM
Version=Rev X.0x
Да и о процессоре тоже из Description, Manufacturer, SocketDesignation кое-что можно узнать...
1
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 30
26.03.2016, 03:39
спасибо Volvo теперь все отлично работает, как вы думаете окончательно перейти на 10 Seattle, будет разумно? все же 6 билдер старый компилятор
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
26.03.2016, 04:04
Не знаю, как насчет XE10, я его не держу у себя (слишком большой он, да и фичи Андроидные мне не нужны, я под Андроид на Билдере ничего писать не собираюсь), но на что-то из ветки XE переходить определенно пора. У меня основной XE2 и для тестов есть еще XE4, для моих целей этого вполне достаточно.
1
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 30
26.03.2016, 08:54
Понял Вас, еще раз спасибо за помощь и за советы.

Добавлено через 1 час 50 минут
Помогите если можно вот в таком вопросе, есть строка из кода:
C++
1
Label1->Caption ="Колличество ядер : " + IntToStr(GetProcessorsCount()) + " / Тип процессора : " + IntToStr(GetProcessorType(SYSINFO)) + " / OemId : " + IntToStr(GetProcessorOemId(SYSINFO));
Как вписать сюда что бы отображалось еще и имя процессора.Спасибо.

Добавлено через 2 часа 53 минуты
освоение XE началось с новых проблем, добавил Slash форму и выдает похоже ошибку линковки, подскажите что можно сделать?
вот ошибки:
c:\program files (x86)\embarcadero\studio\17.0\bin\ilink3 2.exe -G8 -L.\Win32\Release;"E:\Qx-Systems\programms\prj";
C:\Users\Apostol\Desktop\splash_adv;"E:\ s\programms\prj";"c:\program files
(x86)\embarcadero\studio\17.0\lib\win32\ release";"c:\program files (x86)\embarcadero\studio\17.0\lib\win32\ release\psdk";"C:\Program Files
(x86)\FastReports\LibD23";C:\Users\Publi c\Documents\Embarcadero\Studio\17.0\DCP -j.\Win32\Release;"E:\\programms\prj\Qx System Informer";
C:\Users\Apostol\Desktop\splash_adv;"E:\ Qx-Systems\programms\prj\Qx System Informer\QxSysInformer";"c:\program files
(x86)\embarcadero\studio\17.0\lib\win32\ release";"c:\program files (x86)\embarcadero\studio\17.0\lib\win32\ release\psdk";"C:\Program Files
(x86)\FastReports\LibD23";C:\Users\Publi c\Documents\Embarcadero\Studio\17.0\DCP -l.\Win32\Release
-GA"C:\Users\Apostol\AppData\Local\Temp\v fsF19C.tmp"="E:\\programms\prj\Informer\ \qxsysinformer.dfm" -aa -V5.0 -Tpe
c0w32w memmgr.lib sysinit.obj .\Win32\Release\QxSysInf.obj .\Win32\Release\Data_unit.obj .\Win32\Release\Load_thread.obj
.\Win32\Release\qxsysinformer.obj .\Win32\Release\Splash_form1.obj , .\Win32\Release\QxSysInf.exe , .\Win32\Release\QxSysInf.map , rtl.lib vcl.lib
bcbsmp.lib vclx.lib vclimg.lib bcbsmp.lib cp32mt.lib frx23.lib wbemuuid.lib import32.lib cp32mt.lib , , QxSysInf.res
[ilink32 Error] Error: Unresolved external 'wWinMain' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\17.0\LIB\WIN32\ RELEASE\C0W32W.OBJ
[ilink32 Error] Error: Unable to perform link
Failed
Elapsed time: 00:00:02.8
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
26.03.2016, 13:52
JoniRich, RAD XE ShellExecute - сообщение "Cannot convert 'wchar_t *'"

И давай договоримся: новые вопросы - в новых темах. И так уже чужую тему захламляем.
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 30
26.03.2016, 17:20
да конечо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.03.2016, 17:20

Ошибка в C++ Builder XE2 (Pulsar)
Скачал вот отсюда http://запрещенная ссылка Установил с образа который там был Установил кряк.. Лезут ошибки ...

С++ Builder XE2 VCL Style Designer
У С++ Builder XE2 есть полезная вещь - VCL Style Designer. Во время разработки программы можно создавать свои стили формы(скрин ниже)....

Как подключить Open Gl к с++ Builder xe2?
Как подключить Open Gl к с++ Builder xe2?

Как установить VirtualTree на Builder XE2
Пробывал вот такой рецепт из старой темы на этом форуме: //-------------, если вы пользуетесь RAD Studio, тогда рецепт прост: 1....

С++ Builder XE2 непойму в чём ошибка
Всем доброго времени суток. const char *NamedMutex= &quot;OneOnly&quot;; HANDLE CheckInstance(const char *Name){ HANDLE Mutex =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru