Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] - Определение серийника жёсткого диска, Кросс-способ, если можно 
V
    Опции темы
xwicked
  Дата 20.6.2010, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Требуется определить серийник харда(не тома). Нужен кросс-способ, так как через API-функции(Windows) мне известно. Моя программа должна будет работать на 5-ти платформах, включая MacOs и Solaris. Помогите, пожалуйста!

Благодарю. 
PM MAIL WWW ICQ   Вверх
Cheloveck
Дата 20.6.2010, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

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



Для никсов нужно юзать HAL. Инфу он передаёт через DBus. Следовательно юзать нужно QDBus. Кроссплатформенного способа я не знаю (сомневаюсь, что он есть).  Мне, в своё время, очень помогла разобраться эта статья. Ну и спецификацию надо покурить. К сожалению, официальная документация сейчас в дауне (не знаю почему), поэтому прилагаю тебе копию, которую я делал с пол года назад.

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  hal_spec.zip 195,97 Kb


--------------------
user posted image
PM Jabber   Вверх
xwicked
  Дата 23.6.2010, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Cheloveck @ 20.6.2010,  17:16)
Для никсов нужно юзать HAL. Инфу он передаёт через DBus. Следовательно юзать нужно QDBus. Кроссплатформенного способа я не знаю (сомневаюсь, что он есть).  Мне, в своё время, очень помогла разобраться эта статья. Ну и спецификацию надо покурить. К сожалению, официальная документация сейчас в дауне (не знаю почему), поэтому прилагаю тебе копию, которую я делал с пол года назад.


Посмотрел пока наличие Hal во всех системах, Linux, FreeBSD - он есть и физически виден. По Mac OS не нашёл ничего. В Solaris говорят, что Hal "вшит" в Gnome. Окончательно могу сказать, когда полностью разберусь и проверю.

Думаю, что все покатит, поэтому благодарю  smile  , но пока буду проверять  - жду ещё советов. smile
PM MAIL WWW ICQ   Вверх
kuzulis
Дата 23.6.2010, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



xwicked,

имхо, простого и универсального решения не найдете:

1. В Windows вы говорите что вам известно как.. Пропускаем...
2. В GNU/Linux можно вместо hal использовать UDEV, т.к. это более леккий путь, тем более, что hal скоро уберут вообще! Также посмотрите где еще есть UDEV - значит там можно это реализовать.
3. А вот с MacOSX, Solaris тут ничего посоветовать не могу... Знаю только, что в MacOSX есть нечто типа "IOKit" может с помощью него и можно что-то сделать...
PM MAIL   Вверх
xwicked
Дата 11.8.2010, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(kuzulis @ 23.6.2010,  07:51)
xwicked,

имхо, простого и универсального решения не найдете:

1. В Windows вы говорите что вам известно как.. Пропускаем...
2. В GNU/Linux можно вместо hal использовать UDEV, т.к. это более леккий путь, тем более, что hal скоро уберут вообще! Также посмотрите где еще есть UDEV - значит там можно это реализовать.
3. А вот с MacOSX, Solaris тут ничего посоветовать не могу... Знаю только, что в MacOSX есть нечто типа "IOKit" может с помощью него и можно что-то сделать...

Hal заработал  smile  , 

IOKit мне не дал ничего  smile  , может плохо смотрел. Для Мака по-прежнему ничего нет. Остальное всё сделал.
PM MAIL WWW ICQ   Вверх
kuzulis
Дата 11.8.2010, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

Hal заработал  smile  , 


Дык никто не сомневается. Просто суть в том, что HAL удирают из дистрибутивов. Сейчас даже в некоторых из них его уже нету! smile

Цитата

IOKit мне не дал ничего  smile  , может плохо смотрел.


Скорее всего плохо...

см. в сторону: 

Код

#include <IOKit/......>
#include <CoreFoundation/CFNumber.h>


и функции из мака типа:
Код

CFMutableDictionaryRef 
CFDictionaryAddValue
IOServiceMatching
IOObjectRelease
IOServiceNameMatching
IOServiceGetMatchingServices
IORegistryEntryCreateCFProperty
IORegistryEntryGetParentEntry
IORegistryEntrySearchCFProperty
...


С их помощью можно сного чего узнать о девайсах.

PM MAIL   Вверх
xwicked
Дата 25.11.2010, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(kuzulis @ 11.8.2010,  16:02)
Цитата

Hal заработал  smile  , 


Дык никто не сомневается. Просто суть в том, что HAL удирают из дистрибутивов. Сейчас даже в некоторых из них его уже нету! smile

Цитата

IOKit мне не дал ничего  smile  , может плохо смотрел.


Скорее всего плохо...

см. в сторону: 

Код

#include <IOKit/......>
#include <CoreFoundation/CFNumber.h>


и функции из мака типа:
Код

CFMutableDictionaryRef 
CFDictionaryAddValue
IOServiceMatching
IOObjectRelease
IOServiceNameMatching
IOServiceGetMatchingServices
IORegistryEntryCreateCFProperty
IORegistryEntryGetParentEntry
IORegistryEntrySearchCFProperty
...


С их помощью можно сного чего узнать о девайсах.

Благодарю, я решил оставить Мак на потом. Будет время - разберусь с IOKit.  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




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


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

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