Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сбор информации о железе, под семейством ОС windows 
V
    Опции темы
Redstuff
  Дата 15.10.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



С помощью каких функций (Active X, WinAPI) можно собрать информацию о железе? Знаю только одно, что инфа о комп. железе храниться в реестре.



Это сообщение отредактировал(а) Redstuff - 15.10.2006, 16:44


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
marcusmae
Дата 15.10.2006, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Тоже не силён в этом но кое-что полезное нагуглил. В двух словах, информацию о системе можно получать используя классы из пространства имён System.Management. Я так понял, что там имеются возможности получать данные о системе по запросам SQL, как будто реестр - это база данных. Например :

Код

//machine info
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_ComputerSystem");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();

foreach ( ManagementObject mo in queryCollection)
     {          
     Console.WriteLine ("Computer Manufacturer Name: " + mo["Manufacturer"]);
     Console.WriteLine ("Computer Model: " + mo["model"]);
     Console.WriteLine ("System Type: " + mo["SystemType"]);
     Console.WriteLine ("Total Physical Memory: " + formatSize(Int64.Parse(mo["totalphysicalmemory"].ToString()), false));
     Console.WriteLine ("Domain: " + mo["Domain"]);
     Console.WriteLine ("User Name: " + mo["UserName"]);
     }


Может, я ошибаюсь (или это совсем не то?), так что сходите по ссылке.

Добавлено @ 16:59 

+
Полный перечень классов WMI можно подсмотреть в MSDN
Использовать, как в приведённом примере кода.

Это сообщение отредактировал(а) marcusmae - 15.10.2006, 16:55


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Redstuff
Дата 18.10.2006, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Как из консоли перенести в классы? 

На MSDN к сожалению примеры все на C++ или Script VBS  smile 

Может есть где-нибудь примеры WMI функций на C# для классов или как переделать код?

Например вот код VBS:
Код

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
    ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 
    Wscript.Echo "System Name: " & objComputer.Name
    Wscript.Echo "Total Physical Memory: " & _
        objComputer.TotalPhysicalMemory
Next




--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Redstuff
Дата 23.10.2006, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Может есть другие способы как собрать информацию о железе, не прибегая к программам. Например как реализовано подобное в AIDA/Lavalys Everest Ultimate и тому подобных?

Если можно, напишите все способы получения информации о установленном оборудовании под Windows *

Это сообщение отредактировал(а) Redstuff - 23.10.2006, 18:23


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Walker
Дата 23.10.2006, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 23.10.2006

Репутация: 5
Всего: 16



Оптимальный способ получения подобной информации - использование Windows Management Interface (WMI). Доступ к этому ящику Пандоры из .NET реализован в весьма удобной форме и, по определению, в виде классов.

Цитата

Может есть где-нибудь примеры WMI функций на C# для классов или как переделать код?


Почитай вот эти статьи

http://www.samag.ru/cgi-bin/go.pl?q=articles;n=01.2006;a=02

http://www.samag.ru/art/02.2006/02.2006_02.html

А также MSDN на предмет System.Management Namespace


--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
stab
Дата 24.10.2006, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



Цитата(Redstuff @  23.10.2006,  22:22 Найти цитируемый пост)
Может есть другие способы как собрать информацию о железе, не прибегая к программам. Например как реализовано подобное в AIDA/Lavalys Everest Ultimate и тому подобных?


если у тебя есть несколько лишних лет, ищи спецификации по всем протоколам\шинам\чипам и реализовывай всё своими руками. AIDA/Everest в разработке уже более пяти лет. если нет лишнего времени и навыков, тогда только wmi, но и возможностей у wmi заметно меньше.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.