С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
vova_king
24 / 24 / 9
Регистрация: 29.07.2010
Сообщений: 264
1

Как вывести количество оперативной памяти

26.06.2015, 20:01. Просмотров 679. Ответов 8
Метки нет (Все метки)

Доброе время суток.

Visual studio 2010
Задача: необходимо правильно вывести кол-во оперативной памяти?
Через WMI у меня отображается так
Кликните здесь для просмотра всего текста

vb.net
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
Imports System
Imports System.Management
Imports System.Windows.Forms
 
Namespace WMISample
 
    Public Class MyWMIQuery
 
        Public Overloads Shared Function Main() As Integer
 
            Try
                Dim searcher As New ManagementObjectSearcher( _
                    "root\CIMV2", _
                    "SELECT * FROM Win32_PhysicalMemory WHERE Capacity = 4294967296") 
 
                For Each queryObj As ManagementObject in searcher.Get()
 
                    Console.WriteLine("-----------------------------------")
                    Console.WriteLine("Win32_PhysicalMemory instance")
                    Console.WriteLine("-----------------------------------")
                    Console.WriteLine("Capacity: {0}", queryObj("Capacity"))
                Next
            Catch err As ManagementException
                MessageBox.Show("An error occurred while querying for WMI data: " & err.Message)
            End Try
        End Function
    End Class
End Namespace

-----------------------------------
Win32_PhysicalMemory instance
-----------------------------------
Capacity: 4294967296
-----------------------------------
Win32_PhysicalMemory instance
-----------------------------------
Capacity: 4294967296

Программно выводится только первая оперативная память, т.е. 4294967296

Хотелось бы что бы выводилось в виде
4ГБ - производитель планки и тип платки
И так же суммарно 8 ГБ.
(но если память не в ГБ то 512 МБ и т.д.)

Буду очень благодарен за помощь!
0
Миниатюры
Как вывести количество оперативной памяти   Как вывести количество оперативной памяти  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2015, 20:01
Ответы с готовыми решениями:

Вывести информацию о процессоре, видеокарте, оперативной памяти и винчестере
надо написать код программы которая выводит информацию о процессоре, видео...

Очистка оперативной памяти
Здравствуйте! Где то на этом форуме встречал код для очистки оперативной памяти...

Очистка оперативной памяти
Доброй ночи. Нашел на форуме код для очистки оперативной памяти от Памирыча....

Очистка оперативной памяти
На форме кнопка. Public Class Form1 Private Declare Function...

Создание временного диска в оперативной памяти
Здравствуйте, коллеги. Вопрос на засыпку: возможно ли средствами VB.NET...

8
XIST
1101 / 813 / 115
Регистрация: 01.10.2009
Сообщений: 2,512
Записей в блоге: 1
26.06.2015, 20:08 2
Ну давайте вместе по порядку, что нужно сделать математическое, что бы с 4294967296 получилось 4? Учитывая, что мы знаем сколько байт>кбайт>мбайт>Гбайт
1
vova_king
24 / 24 / 9
Регистрация: 29.07.2010
Сообщений: 264
26.06.2015, 20:26  [ТС] 3
Полученное число 4294967296 нужно преобразовать в 4ГБ
Или если у меня 524288 памяти в 512 Мб.

Я так понимаю что 4294967296 Гб переводи в 4096 ГБ и 4096 убираем 3 цифры с конца
0
edward_freedom
1555 / 1434 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
26.06.2015, 20:42 4
vova_king, зачем что то убирать?
4095 \ 1024 = 4
1
vova_king
24 / 24 / 9
Регистрация: 29.07.2010
Сообщений: 264
26.06.2015, 20:48  [ТС] 5
Ну в принципе да 4096/1024 получится 4.
Но как тогда теперь быть когда у меня не 1 планка памяти а несколько и разного размера!?
0
edward_freedom
1555 / 1434 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
26.06.2015, 21:00 6
vova_king, тебе уже ответили
Цитата Сообщение от XIST Посмотреть сообщение
байт>кбайт>мбайт>Гбайт
(4294967296 + 4294967296) / 1024 / 1024 / 1024
2
vova_king
24 / 24 / 9
Регистрация: 29.07.2010
Сообщений: 264
26.06.2015, 21:55  [ТС] 7
Да нет. Дело в том что при любом запросе который я нашел в интернете, не получается у меня отображать что имеется 2 планки по 4 ГБ. Всегда отображается только 1 планка.
Вот и в этом посте в начале, я написал что программно у меня постоянно отображается только 1 планка, я как вывести 2,3,4 планки памяти если они есть!?
0
edward_freedom
1555 / 1434 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
26.06.2015, 22:55 8
vova_king, Твой код у меня не работает, просто ничего не выводит. Но, исходя из твоего первого поста
Цитата Сообщение от vova_king Посмотреть сообщение
-----------------------------------
Win32_PhysicalMemory instance
-----------------------------------
Capacity: 4294967296
-----------------------------------
Win32_PhysicalMemory instance
-----------------------------------
Capacity: 4294967296
Он тебе правильно вывел две планки, по 4 гига. Тебе нужно было только сложить их.
vb.net
1
2
3
4
5
6
7
8
9
10
11
Dim all_size As Long = 0
        Dim oMs As New ManagementScope()
        Dim oQuery As New ObjectQuery("SELECT Capacity FROM Win32_PhysicalMemory")
        Dim oSearcher As New ManagementObjectSearcher(oMs, oQuery)
        Dim oReturnCollection As ManagementObjectCollection = oSearcher.[Get]()
 
        For Each oReturn As ManagementObject In oReturnCollection
            all_size += oReturn("Capacity")
        Next
        Dim result As Integer = all_size / 1024 / 1024 / 1024
        MessageBox.Show(result)
И кстати, зачем тебе это условие?
Цитата Сообщение от vova_king Посмотреть сообщение
WHERE Capacity = 4294967296"
1
Миниатюры
Как вывести количество оперативной памяти  
vova_king
24 / 24 / 9
Регистрация: 29.07.2010
Сообщений: 264
26.06.2015, 23:25  [ТС] 9
Я хочу чтобы выводилось примерно так на картинке.
тут мне пришлось делать переход на другую строку.
Но я не хочу писать
vb.net
1
vbCrLf
Потому что если я буду использовать PropertyGrid1 То у меня не получится выводить его с помощью
vb.net
1
vbCrLf
Хочется же что бы он каждую планку записывал отдельно в textbox или label
0
Миниатюры
Как вывести количество оперативной памяти  
26.06.2015, 23:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2015, 23:25

Показывать в программе ее потребление оперативной памяти
Мне нужно чтобы в программе выводить сколько проца она кушает, подскажите)

Несанкционированное расходование оперативной памяти даже простыми приложениями
Создал простую форму с парочкой кнопочек, а она есть 8Мб оперативки. Со всеми...

Подскажите способ борьбы с отъеданием таймером оперативной памяти
Здравствуйте. Подскажите способ борьбы с отъеданием таймером оперативной...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru