Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
6 / 6 / 1
Регистрация: 21.01.2012
Сообщений: 92

Узнать информацию о компьютере

14.06.2014, 14:52. Показов 4334. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, форумчане!

Возникла необходимость получить детальную информацию о компьютере (на работе нужно собрать инфу о всех компьютерах, а их около четырехсот, не особо хочется ходить и переписывать все с каждой машины)
Пробовал делать вот так, но здесь не вся необходимая мне информация:

Visual Basic
1
2
3
4
5
6
7
8
Dim i As Byte
For i = 1 To 32
    If i < 32 Then
        Text1.Text = Text1.Text & Environ(i) & vbCrLf & vbCrLf
    Else
        Text1.Text = Text1.Text & Environ(i)
    End If
Next
Нужна инфа, которая отображается при запуске MSINFO32.EXE, возможно ли как то вытащить данные из MSINFO32 в свою программу?

Если более детально, то мне нужны следующие данные:
-процессор(название/частота)
-ОЗУ(установлено/доступно(в зависимости от разрядности системы))
-Разрядность системы(32 или 64 бит)
-Ну и если это возможно, то желательно бы знать "Индекс производительности Windows"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2014, 14:52
Ответы с готовыми решениями:

Как узнать вставлены ли сьемные носители в компьютере?
Вот решил еще поделится найденным кодом! Кстати тоже на форуме поднималась эта тема! Private Sub Command1_Click() Dim FSO As...

Как узнать список Провайдеров у ADO на конкретном компьютере?
Как узнать список Провайдеров у ADO на конкретном компутере ?

Как узнать тип информацию о компьютере?
Как при помощи C++ узнать о ПК эту информацию? • тип компьютера; • конфигурацию оборудования; • объем оперативной памяти; ...

13
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
14.06.2014, 15:36
я конечно понимаю, что онанизм вприсядку это весело... что мешает использовать готовый софт?
1
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
14.06.2014, 15:43
Инвентаризация компьютеров средствами WMI и VBScript
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
14.06.2014, 16:00
Цитата Сообщение от mazahaker-ncux Посмотреть сообщение
Нужна инфа
Для WinXP просто прочитать файл %SYSTEMROOT%\System32\oeminfo.ini Там информация о компе.
Для win7 прочитать ветку реестра
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/OEMInformation

Да и вообще из реестра можно всю интересующую информацию найти.
1
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
14.06.2014, 16:22
oeminfo.ini
в наличии быть не обязан.

Кстати это и WMI касается, служба на чистых осях по-дефолту отключена, на хрюше точно.
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
14.06.2014, 17:40
посмотри полупрозрачный диспетчер задач,
там есть момент вызова свойств через ShellExecuteEX
Готовые решения и полезные коды на Visual Basic 6.0
0
 Аватар для Kogb
367 / 128 / 28
Регистрация: 17.07.2011
Сообщений: 253
Записей в блоге: 1
14.06.2014, 17:41
Цитата Сообщение от mazahaker-ncux Посмотреть сообщение
возможно ли как то вытащить данные из MSINFO32 в свою программу?
Запускаешь MSINFO32 c нужными параметрами, читаешь его отчет(ы):
Инструкции по использованию параметров командной строки сведений о системе (MSINFO32)
1
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
15.06.2014, 00:23
Цитата Сообщение от raxp Посмотреть сообщение
... это и WMI касается, служба на чистых осях по-дефолту отключена, на хрюше точно...
По крайней мере, для диапазона версий 2000(Pro,Srv)/XP(Pro,Home)/2003(Std,Ent)/2008(Std)/7(Pro) это неверное утверждение.
0
 Аватар для Kogb
367 / 128 / 28
Регистрация: 17.07.2011
Сообщений: 253
Записей в блоге: 1
15.06.2014, 05:33
Цитата Сообщение от Dmitrii Посмотреть сообщение
По крайней мере, для диапазона версий 2000(Pro,Srv)/XP(Pro,Home)/2003(Std,Ent)/2008(Std)/7(Pro) это неверное утверждение.
Про 2000(Pro,Srv) не скажу, лично не тестил, а по остальным - так и есть, проверено не раз.
0
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 16
15.06.2014, 06:21
AIDA 64-есть такая программа там почти всё есть!
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
15.06.2014, 12:03
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
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
Option Explicit
 
Private Declare Function GlobalMemoryStatusEx Lib "kernel32" (lpBuffer As Any) As Long
Private Declare Function VarBstrFromUI8 Lib "oleaut32" (ByVal ValueL As Long, ByVal ValueH As Long, ByVal LCID As Long, ByVal Flags As Long, ByVal Out As Long) As Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyW" (ByVal hKey As Long, ByVal lpSubKey As Long, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExW" (ByVal hKey As Long, ByVal lpValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function IsWow64Process Lib "kernel32" (ByVal hProc As Long, bWow64Process As Boolean) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
 
Private Const HKEY_LOCAL_MACHINE = &H80000002
 
Private Sub Form_Load()
    Debug.Print "RAM: "; RAMInfo
    Debug.Print "CPU: "; CPUInfo
    Debug.Print IIf(IsWin64, "x64", "x86")
End Sub
 
Private Function IsWin64() As Boolean
    IsWow64Process GetCurrentProcess, IsWin64
End Function
Private Function RAMInfo() As String
    Dim dat()   As Long
    Dim s1      As String
    Dim s2      As String
 
    ReDim dat(15): dat(0) = 64
    GlobalMemoryStatusEx dat(0)
    VarBstrFromUI8 dat(2), dat(3), GetUserDefaultLCID, 0, VarPtr(s1)
    VarBstrFromUI8 dat(4), dat(5), GetUserDefaultLCID, 0, VarPtr(s2)
    
    RAMInfo = s1 & "/" & s2 & " bytes"
End Function
 
Private Function CPUInfo() As String
    Dim hKey    As Long
    Dim index   As Long
    Dim CPUName As String
    Dim Size    As Long
    Dim Freq    As Long
    
    Do Until RegOpenKey(HKEY_LOCAL_MACHINE, StrPtr("HARDWARE\DESCRIPTION\System\CentralProcessor\" & CStr(index)), hKey)
        If index Then CPUInfo = CPUInfo & vbNewLine
        CPUInfo = CPUInfo & "Processor" & Str(index) & ":"
        If RegQueryValueEx(hKey, StrPtr("ProcessorNameString"), ByVal 0&, 0, ByVal 0&, Size) = 0 Then
            CPUName = Space(Size \ 2 - 1)
            RegQueryValueEx hKey, StrPtr("ProcessorNameString"), ByVal 0&, 0, ByVal StrPtr(CPUName), Size
            CPUInfo = CPUInfo & " " & CPUName
        End If
        If RegQueryValueEx(hKey, StrPtr("~MHz"), ByVal 0&, 0, Freq, Size) = 0 Then
            CPUInfo = CPUInfo & " " & Freq & " Mhz"
        End If
        RegCloseKey hKey
        index = index + 1
    Loop
End Function
1
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
16.06.2014, 20:58
Цитата Сообщение от Kogb Посмотреть сообщение
... а по остальным - так и есть, проверено не раз.
Прикрепил к этому сообщению изображения окон свойств службы WMI тех версий ОС с "умолчальными" настройками служб, которые на данный момент оказались у меня "под руками" (1 - Win 7 x64 Pro SP1, 2 - Win XP x86 Home SP2).
Как явствует из них, служба, во-первых, запущена, во-вторых, тип запуска для неё установлен в режим "Авто".
Обе ОС установлены с официальных дистрибутивов от MS.
Да было бы и удивительно, если бы данная служба не была бы запущена, т.к. от неё зависят несколько других служб, например, Центр обеспечения безопасности. А уж эта служба запущена сразу после установки ОС в конфигурации по умолчанию.
Миниатюры
Узнать информацию о компьютере   Узнать информацию о компьютере  
0
 Аватар для Kogb
367 / 128 / 28
Регистрация: 17.07.2011
Сообщений: 253
Записей в блоге: 1
16.06.2014, 21:30
Но я и не спорю, а наоборот
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
16.06.2014, 22:28
Лучший ответ Сообщение было отмечено The trick как решение

Решение

На счет WMI


Dmitrii, подтверждаю.
на XPx32 и x64 по-умолчанию
Windows Management Instrumentation - режим запуска "Автоматически".
Windows Management Instrumentation Driver Extensions - режим запуска "Вручную".

Даже если winmgmt установить в режим "Вручную" она будет запущена по первому требованию.
В случае же отключения, для взаимодействия с ней потребуется сначала задать тип запуска "Вручную" или "Автоматически", например таким батником:

Bash
1
2
sc config winmgmt start= auto
net start winmgmt
Для Windows Vista и выше потребуются повышенные привилегии.


mazahaker-ncux, здравствуйте !

Посмотрите еще в сторону вот такого скрипта: https://www.cyberforum.ru/post4249714.html
Цитата Сообщение от mazahaker-ncux Посмотреть сообщение
возможно ли как то вытащить данные из MSINFO32 в свою программу?
Да.
Bash
1
msinfo32 /nfo .\INFO.NFO
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.06.2014, 22:28
Помогаю со студенческими работами здесь

Как получить информацию о компьютере?
Господа, подскажите, пожалуйста, как в программу на Ява включить такую возможность, как получение информации о компьютере (операционная...

Вывести информацию о компьютере в Label
Как можно вывести информацию о пк в label 1 ?

Нужно получить информацию о компьютере
Нужно получить информацию о компьютере путь к папке с ОС Windows; данные о flash-диске ;(если usb нет то вывести ошибку что usb не...

Получить информацию о модели монитора на удаленном компьютере
Помогите пожалуйста с программой. Необходимо получить информацию о модели монитора на удаленном компьютере. Вот код подключения: ...

Получить информацию о компьютере с которого осуществляся вход
Здраствуйте! Вообще суть дела в следующем. Собственно есть программа написаная на Delphi + БД MsSQl. Программкой пользуються некоторое...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru