Russian Qt Forum
Сентябрь 30, 2024, 14:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как вытащить информацию о железе и ОС  (Прочитано 8619 раз)
mygorod
Гость
« : Сентябрь 14, 2008, 14:09 »

Подскажите пожалуйста, как вытащить информацию о железе и ОС?
Примерчики приветствуются.
Записан
VAP
Гость
« Ответ #1 : Сентябрь 14, 2008, 15:02 »

Информация о системе - класс QSysInfo в помощь(это есть  в Ассистенте).
Записан
sendevent
Гость
« Ответ #2 : Сентябрь 14, 2008, 17:53 »

Выдирал из ассиста (4.4.0b):

Код:
qDebug( "locallhost: %s", qPrintable( QHostInfo::localHostName() ) ); //-- localhost name
QList<QHostAddress> addressList = QNetworkInterface::allAddresses();
foreach( QHostAddress address, addressList )
    qDebug( "yet another address: %s", qPrintable( address.toString() ) );//-- eth & lo addresses

QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
foreach( QNetworkInterface interface, interfaces )
    qDebug( "yet another interface: %s", qPrintable( interface.hardwareAddress() );//-- mac

for( int iCount = 0; iCount<QNetworkInterface::allInterfaces().count(); iCount++ )
{
    QNetworkInterface current = QNetworkInterface::interfaceFromIndex( iCount );
    if( current.isValid() )
    {
        QList<QNetworkAddressEntry> adresses = current.addressEntries();
        for( int addrId = 0; addrId < adresses.count() ; addrId++ )
            qDebug( "ip: %s", qPrintable( adresses.at( addrId ).ip().toString() ) );
    }
}

А вот как бы узнать название текущего пользователя? Наверно, можно из QSettings, но пока не нашел.
Записан
ритт
Гость
« Ответ #3 : Сентябрь 14, 2008, 20:17 »

это уже к кутэ не относится.
я добываю имя юзверя так:
Код:
	static QString login;
if(login.isEmpty())
{
#ifdef Q_OS_WIN
QT_WA({
wchar_t buffer[256];
DWORD bufferSize = sizeof(buffer) / sizeof(wchar_t) - 1;
GetUserNameW(buffer, &bufferSize);
login = QString::fromUtf16((ushort*)buffer);
},
{
char buffer[256];
DWORD bufferSize = sizeof(buffer) / sizeof(char) - 1;
GetUserNameA(buffer, &bufferSize);
login = QString::fromLocal8Bit(buffer);
});
#else
struct passwd* pwd = getpwuid(getuid());
if(pwd)
login = QString(pwd->pw_name);
#endif
}

поправьте меня, если есть более простой и гибкий способ...
Записан
NicK
Гость
« Ответ #4 : Март 02, 2011, 09:17 »

А так?
Код
C++ (Qt)
QString getUserName()
{
       return (qgetenv("USERNAME"));
}
 
Записан
alexman
Гость
« Ответ #5 : Март 02, 2011, 09:26 »

Вроде пашет Улыбающийся Под виндой точно!
Записан
voral
Гость
« Ответ #6 : Март 02, 2011, 14:32 »

А тип проца/разрядность/частоту и объем диска полный/доступный, нет ни у кого кроссплатфоменных  наработок?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Март 02, 2011, 22:55 »

поправьте меня, если есть более простой и гибкий способ...

в UNIX это $USER, в винде $USERNAME

P.S. ой, некропост Веселый
Записан
Mish_ka
Гость
« Ответ #8 : Март 13, 2011, 21:26 »

Никто и ничего незнает по этому поводу?

А тип проца/разрядность/частоту и объем диска полный/доступный, нет ни у кого кроссплатфоменных  наработок?

Нашёл что нибудь?

Всё перерыл... ни чего не нашёл... плохо смотрел, подскажите пожалуйста...
Записан
voral
Гость
« Ответ #9 : Март 14, 2011, 16:12 »

А тип проца/разрядность/частоту и объем диска полный/доступный, нет ни у кого кроссплатфоменных  наработок?
Нашёл что нибудь?
Всё перерыл... ни чего не нашёл... плохо смотрел, подскажите пожалуйста...
Это у меня неосновная сейчас задача. Пока только видел (воде здесь) код для определения полного и свободного места на диске. Но там не хватает определения под мак.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.101 секунд. Запросов: 23.