Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
35 / 35 / 8
Регистрация: 22.09.2013
Сообщений: 170
1

Конфигурация ПК

25.03.2014, 20:33. Показов 2587. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
нужно выводить конфигурацию ПК .

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "stdafx.h"
 
// lab1.cpp: главный файл проекта.
 
#include "stdafx.h"
#include "iostream"
#include <windows.h>
#include <locale>
#include <tchar.h>
#pragma comment(lib, "user32.lib")
 
TCHAR* envVarStrings[] =
{
  TEXT("OS         = %OS%"),
  TEXT("PATH       = %PATH%"),
  TEXT("HOMEPATH   = %HOMEPATH%"),
  TEXT("TEMP       = %TEMP%")
};
#define  ENV_VAR_STRING_COUNT  (sizeof(envVarStrings)/sizeof(TCHAR*))
#define INFO_BUFFER_SIZE 32767
 
int  main()
{
    setlocale(LC_ALL,"Russian");
   SYSTEM_INFO siSysInfo;
   DWORD i;
  TCHAR  infoBuf[INFO_BUFFER_SIZE];
  DWORD  bufCharCount = INFO_BUFFER_SIZE;
 
    GetSystemInfo(&siSysInfo); 
    printf("конфигурация ПК: \n");  //нашла в официальном сайте windows
   
  GetComputerName( infoBuf, &bufCharCount ) ;   
  _tprintf( TEXT("\n  имя компьютера:  %s"), infoBuf ); 
 
   GetUserName( infoBuf, &bufCharCount ) ;
  _tprintf( TEXT("\n  имя пользователя:   %s"), infoBuf ); 
 
    GetSystemDirectory( infoBuf, INFO_BUFFER_SIZE ) ; 
  _tprintf( TEXT("\n  системный каталог:   %s"), infoBuf ); 
  printf("\n  версия операционной системы: ");
    DWORD dwVersion = 0; 
    DWORD dwMajorVersion = 0;
    DWORD dwMinorVersion = 0; 
    DWORD dwBuild = 0;
    dwVersion = GetVersion();
    dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
    dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
    if (dwMajorVersion == 6 && dwMinorVersion==2) printf("Windows 8");
    else if (dwMajorVersion == 6 && dwMinorVersion==2) printf("Windows 8");
    else if (dwMajorVersion == 6 && dwMinorVersion==1) printf("Windows 7");
    else if (dwMajorVersion == 6 && dwMinorVersion==0) printf("Windows Vista");
    else if (dwMajorVersion == 5 && dwMinorVersion==2) printf("Windows Server 2003");
    else if (dwMajorVersion == 5 && dwMinorVersion==1) printf("Windows Server 2003");
    else if (dwMajorVersion == 5 && dwMinorVersion==0) printf("Windows 2000");
 
    printf("\n  номер версий: %d.%d", 
                dwMajorVersion,
                dwMinorVersion);
 
 
// остальные не могу найти ((
 
     printf("\n  тип процессора и его тактовая частота: %u\n ", siSysInfo.dwProcessorType); 
     printf("  число процессора %u\n ", siSysInfo.dwNumberOfProcessors);
       printf("  наличие кэш объемов %u\n ");
       printf("  объемов ОЗУ %u\n ");
       printf("  тип ОЗУ %u\n ");
       printf("  количество твердых дисков  %u\n ");
       printf("  объем памяти (общей и свободной) %u\n ");
       printf("  тип видеокарты %u\n ");
       printf("  объем памяти %u\n ");
       printf("  версия БИОС %u\n ");
    
   system("pause");
   return 0;
}
надеюсь поможете.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2014, 20:33
Ответы с готовыми решениями:

параллельная конфигурация
Добрый день. В VS C++ 2008 создаю программку, которая должна бы работать на компах, где не...

Конфигурация компьютера
Практически требуется заново реализовать утилиту от Windows под названием systeminfo хотелось бы...

Конфигурация Qt
При запуске config.bat (скачивал исходники здесь) выдаётся сообщение об ошибке (на скриншоте)....

Конфигурация железа
Надо написать программу, чтобы она показывала какое железо стоит на компе. Тоесть: какая модель...

1
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
25.03.2014, 21:17 2
1) Вместо GetSystemInfo лучше использовать GetNativeSystemInfo.
Имеет смысл при запуске на 64-битных Windows.

2) Вместо GetVersion лучше GetVersionEx, но вообще-то программу
могут запустить в режиме совместимости, и тогда функция вернет
другой номер. Обсуждалось недавно:
Определение ОС

3) else if (dwMajorVersion == 5 && dwMinorVersion==1) printf("Windows Server 2003");

5.1 - это Windows XP, а не Server 2003.
Кстати, здесь не показывается, клиентская ли Windows или серверная.
В помощь OSVERSIONINFOEX::wProductType (все от той же GetVersionEx).

Цитата Сообщение от Жанерке Посмотреть сообщение
// остальные не могу найти
Данные о процессоре, кэшах и т.п. надежнее всего
вытаскивать через инструкцию CPUID. В Visual C++ есть
соответствующий интринсик - __cpuidex.
1
25.03.2014, 21:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2014, 21:17
Помогаю со студенческими работами здесь

Динамическая или статическая конфигурация. Когда используется альтернативная IP-конфигурация?
1) Когда одна сеть использует протокол DHCP для своих IP-адресов, а в другой сети используются...

Конфигурация приложения .NET. XML конфигурация
Здравствуйте. Третьи сутки колдую над конфигурацией приложения, написанного на шарпе. Перелопатил...

Конфигурация ПК
Нужна помощь в выборе видеокарты. Играть буду на ультра в играх, например Crysis 3. Бюджет до...

Конфигурация пк
Помогите определится с конфигурацией компьютера. В1 • Процессор: Intel Pentium G3420 BOX ...

1C конфигурация
Народ поделитесь конфигурацией у которой 2-3 справочника и 2-3 документа, а самое главное есть...

конфигурация 1c
Люди добрые! помогите, пожалуйста! дали мне задание в 1с: разработать конфигурацию, которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru