Страница: 1 | 2 |
Вопрос: Данные процессора и оперативной памяти
Добавлено: 25.12.06 13:44
Автор вопроса: Андрэ
Нужно,чтобы в label или в textbox показывались частота процессора и объем оперативной памяти.
Как это сделать???
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 25.12.06 16:51
нужно искать пример, показывающий частоту и озу можно ещё заплатить 20 wmz...
Номер ответа: 2
Автор ответа:
JMP
Вопросов: 6
Ответов: 171
Профиль | | #2
Добавлено: 25.12.06 19:06
WMI - запросы
CPU:
http://www.microsoft.com/technet/scriptcenter/scripts/hardware/basic/hwbavb03.mspx
'Save as CPU.vbs
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2"
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor"
For Each objItem in colItems
Wscript.Echo "Address Width: " & objItem.AddressWidth
Wscript.Echo "Architecture: " & objItem.Architecture
Wscript.Echo "Availability: " & objItem.Availability
Wscript.Echo "CPU Status: " & objItem.CpuStatus
Wscript.Echo "Current Clock Speed: " & objItem.CurrentClockSpeed
Wscript.Echo "ata Width: " & objItem.DataWidth
Wscript.Echo "escription: " & objItem.Description
Wscript.Echo "evice ID: " & objItem.DeviceID
Wscript.Echo "External Clock: " & objItem.ExtClock
Wscript.Echo "Family: " & objItem.Family
Wscript.Echo "L2 Cache Size: " & objItem.L2CacheSize
Wscript.Echo "L2 Cache Speed: " & objItem.L2CacheSpeed
Wscript.Echo "Level: " & objItem.Level
Wscript.Echo "Load Percentage: " & objItem.LoadPercentage
Wscript.Echo "Manufacturer: " & objItem.Manufacturer
Wscript.Echo "Maximum Clock Speed: " & objItem.MaxClockSpeed
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "PNP Device ID: " & objItem.PNPDeviceID
Wscript.Echo "Processor ID: " & objItem.ProcessorId
Wscript.Echo "Processor Type: " & objItem.ProcessorType
Wscript.Echo "Revision: " & objItem.Revision
Wscript.Echo "Role: " & objItem.Role
Wscript.Echo "Socket Designation: " & objItem.SocketDesignation
Wscript.Echo "Status Information: " & objItem.StatusInfo
Wscript.Echo "Stepping: " & objItem.Stepping
Wscript.Echo "Unique Id: " & objItem.UniqueId
Wscript.Echo "Upgrade Method: " & objItem.UpgradeMethod
Wscript.Echo "Version: " & objItem.Version
Wscript.Echo "Voltage Caps: " & objItem.VoltageCaps
Next
Memory:
'http://www.microsoft.com/technet/scriptcenter/scripts/hardware/memory/hwmevb04.mspx
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2"
Set colItems = objWMIService.ExecQuery("Select * from Win32_MemoryArray"
For Each objItem in colItems
Wscript.Echo "evice ID: " & objItem.DeviceID
Wscript.Echo "Ending Address: " & objItem.EndingAddress
Wscript.Echo "Starting Address: " & objItem.StartingAddress
Wscript.Echo
Next
'http://www.microsoft.com/technet/scriptcenter/scripts/hardware/memory/hwmevb07.mspx
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2"
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory"
For Each objItem in colItems
Wscript.Echo "Bank Label: " & objItem.BankLabel
Wscript.Echo "Capacity: " & objItem.Capacity
Wscript.Echo "ata Width: " & objItem.DataWidth
Wscript.Echo "escription: " & objItem.Description
Wscript.Echo "evice Locator: " & objItem.DeviceLocator
Wscript.Echo "Form Factor: " & objItem.FormFactor
Wscript.Echo "Hot Swappable: " & objItem.HotSwappable
Wscript.Echo "Manufacturer: " & objItem.Manufacturer
Wscript.Echo "Memory Type: " & objItem.MemoryType
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Part Number: " & objItem.PartNumber
Wscript.Echo "Position In Row: " & objItem.PositionInRow
Wscript.Echo "Speed: " & objItem.Speed
Wscript.Echo "Tag: " & objItem.Tag
Wscript.Echo "Type Detail: " & objItem.TypeDetail
Next
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 25.12.06 22:37
а ф топку WMI, даеш на API? ^)
Номер ответа: 4
Автор ответа:
JMP
Вопросов: 6
Ответов: 171
Профиль | | #4
Добавлено: 26.12.06 06:45
С памятью не проблема
 IM MS AS MEMORYSTATUS
MS.dwLength=SIZEOF(MS)
GlobalMemoryStatus(BYVAL VARPTR(MS))
' в MS.dwTotalPhys сколько памяти на компе
а вот со скоростью CPU без WMI не обойтись ИМХО
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 26.12.06 09:54
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 26.12.06 11:16
Да, WMI не лучшее решение. Не на каждой машине заработает.
А самое простое - тупо лезем в реестр
Номер ответа: 7
Автор ответа:
Андрэ
Вопросов: 2
Ответов: 4
Профиль | | #7
Добавлено: 26.12.06 13:29
В VB 6.0 не одно из перечисленного не пошло...
Номер ответа: 8
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #8
Добавлено: 26.12.06 21:41
это для профиксенной версии - VB6.0++ equal_hands
Номер ответа: 9
Автор ответа:
JMP
Вопросов: 6
Ответов: 171
Профиль | | #9
Добавлено: 27.12.06 07:07
Примерчик ? (без лазанья по реестру и без помощи своего кода)
Номер ответа: 10
Автор ответа:
JMP
Вопросов: 6
Ответов: 171
Профиль | | #10
Добавлено: 27.12.06 07:11
Copy, paste в нотепад, и сохранить с раширением VBS.
Потом дабл клик по этому файлу.
Чтобы использовать из любого языка, задействовать СОМ- интерфейс.
BTW, WMI входит в стандартную поставку во всех версиях винды начиная с 98 и прекрасно апгрейдится до текущей 5.6
Номер ответа: 11
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #11
Добавлено: 27.12.06 10:00
cpuid, например
Номер ответа: 12
Автор ответа:
Андрэ
Вопросов: 2
Ответов: 4
Профиль | | #12
Добавлено: 27.12.06 14:06
Дык мне это все желательно в свою программу встроить под VB 6.0
Помогите пожалуйста!!!
Номер ответа: 13
Автор ответа:
JMP
Вопросов: 6
Ответов: 171
Профиль | | #13
Добавлено: 27.12.06 21:03
А с каких пор "cpuid" стал скорость CPU возвращать ?
Выяснить с его помощью наличие RDTSC и потом высчитывать
разницу между CPUtimeStamp?
ИМХО "cpuid" в лоб не возвращает скорость ЦПУ, а во вторых сегодня это опасно, так как на реальных мультипроцесорных машинах, нет никакой гарантии, в какой момент времени Вы будете спрашивать CPUtimeStamp через RDTSC у первого ЦПУ или второго или 3...4, соответсвенно результат будет высчитываться не верно.
BTW, это ассемблер, парень VB-script не может перевести в ВБ, а мы ему про асм. Я к сожалению пасс с помощью перевода, очень давно отошел от ВБ, так что ждите если кто согласится помочь перевести.
Номер ответа: 14
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #14
Добавлено: 27.12.06 23:01
У меня частота процессора написана в Processor Brand String
Номер ответа: 15
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #15
Добавлено: 27.12.06 23:40
та не, ну я совсем недавно в аналогичном топе кидал ссылку на реализ сабжа Си... там всё красиво на апи, никакого читерства... помойму, если память без бед-секторов, то там делалось с помощью всяких pdh****... функций. В 3-ем апи вьевере есть прототипы этих функция для вб, сырс на си вроде не большой был, так что перевести вопрос времени и лени...