ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

08.04.2010, 18:51
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
Последний раз редактировалось NetSter; 08.04.2010 в 18:55..
|
|
|

08.04.2010, 20:27
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Perfomance Counter они же счетчики производительности
Start - Run - perfmon.msc /s
там можно посмотреть данные по использованию, загруженности и т.п.
http://zamov.online.fr/EXHTML/CSharp/CSharp_927308.html
http://www.geekpedia.com/tutorial211_Using-Performance-Counters-in-Csharp.html
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

10.04.2010, 17:42
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
Сообщение от W!z@rD
Perfomance Counter они же счетчики производительности......
Допустим с счетчиками производительности разобрался.
накатал вот такой простой код:
PHP код:
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
performanceCounter1.CategoryName = "Memory";
performanceCounter1.CounterName = "Available Mbytes";
performanceCounter1.InstanceName = null;
long aviMB = performanceCounter1.RawValue;
richTextBox1.Text = string.Format("Availiable Memory: {0} MB \n", aviMB);
}
}
}
Но теперь вот в чем замутка - какими CounterName-мами для CategoryName = "Memory" получить такую инфо как например мне нужно обязательно для проги:
1) Частота работы
2) Объем памяти
3) серийник (не обязательно)
4) тип памяти (DDR, DDR-2 etc...)
5) прочее интересное (не обязательно)
|
|
|

10.04.2010, 19:46
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
NetSter
2) Объем памяти
WMI - Win32_ComputerSystem - TotalPhysicalMemory
подробнее - http://www.computerperformance.co.uk/vbscript/wmi_memory.htm
Остальное без понятия 
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

10.04.2010, 20:13
|
|
Новичок
Регистрация: 28.01.2010
Сообщений: 15
Провел на форуме: 52119
Репутация:
17
|
|
Сообщение от NetSter
Но теперь вот в чем замутка - какими CounterName-мами для CategoryName = "Memory" получить такую инфо как например мне нужно обязательно для проги:
1) Частота работы
2) Объем памяти
3) серийник (не обязательно)
4) тип памяти (DDR, DDR-2 etc...)
5) прочее интересное (не обязательно)
Win32_PhysicalMemory Class
Идем по-порядку:
1) Частота работы
Win32_PhysicalMemory - Speed - у меня 800
2) Объем памяти
Win32_PhysicalMemory - Capacity - у меня 1073741824, это в байтах т.е. 1073741824 = 1 гиг
3) серийник (не обязательно)
Win32_PhysicalMemory - SerialNumber, но у меня выдает SerNum0, кстати тоже выдает и everest
4) тип памяти (DDR, DDR-2 etc...)
Win32_PhysicalMemory - MemoryType, тут:
...
17 - SDRAM
20 - DDR
21 - DDR2, остальные смотреть по ссылке више
5) прочее интересное (не обязательно)
Как вариант, посмотреть, что выводят программы такие как everest, например:

|
|
|

11.04.2010, 01:07
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
да, заюзал этот класс.
теперь уже хоть что то нарисовалось )
код примерно такой для всех методов.
PHP код:
private void realMemory()
{
ManagementScope oMs = new ManagementScope();
ObjectQuery oQuery = new ObjectQuery("SELECT Capacity FROM Win32_PhysicalMemory");
ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);
ManagementObjectCollection oReturnCollection = oSearcher.Get();
foreach (ManagementObject oReturn in oReturnCollection)
{
textBox2.Text = string.Format(Convert.ToInt32(oReturn["Capacity"]) / 1048576 + " MB");
}
}
аналогично сделал для форм-фактор чипа и типа памяти.
Щя играюсь с частотой. (SPEED)
|
|
|

11.04.2010, 02:24
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
Speed получить так и не удалось... вообще ничего не выводит. метод написан аналогично private void realMemory() (см. пост выше).
у кого какие предложения по получению этого значения? )
|
|
|

11.04.2010, 11:16
|
|
Новичок
Регистрация: 28.01.2010
Сообщений: 15
Провел на форуме: 52119
Репутация:
17
|
|
Сообщение от NetSter
Speed получить так и не удалось... вообще ничего не выводит. метод написан аналогично private void realMemory() (см. пост выше).
у кого какие предложения по получению этого значения? )
А не забываешь менять в двух местах и в запросе:
ObjectQuery oQuery = new ObjectQuery("SELECT Speed FROM Win32_PhysicalMemory");
...
oReturn[" Speed"]
...
т.е. вот такой код работает:
Код:
private void realSpeed()
{
ManagementScope oMs = new ManagementScope();
ObjectQuery oQuery = new ObjectQuery("SELECT Speed FROM Win32_PhysicalMemory");
ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);
ManagementObjectCollection oReturnCollection = oSearcher.Get();
foreach (ManagementObject oReturn in oReturnCollection)
{
textBox1.Text = oReturn["Speed"].ToString();
}
}
P.S.: Win7, VS2010RC, с админискими правами
P.P.S.: может поможет указать в конструкторе
Код:
ManagementScope oMs = new ManagementScope("\\root\\cimv2");
Последний раз редактировалось 0kt0ber; 11.04.2010 в 11:20..
|
|
|

11.04.2010, 14:43
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
Сообщение от 0kt0ber
А не забываешь менять в двух местах и в запросе:
ObjectQuery oQuery = new ObjectQuery("SELECT Speed FROM Win32_PhysicalMemory");
...
oReturn["Speed"]
........
не я там не втыкаю менять и все уже пашет для вот таких параметров (на твоем скрине нарисовал ))
только скорость осталась.
насчет указания в конструкторе - вариант нужно попробовать, только вот как без этого все значения есть а только скорости нету ))
щя буду шаманить. результаты отпишу.
ЗЫ\ всем спс за пождержку 
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|