Форум программистов, компьютерный форум CyberForum.ru

Получение информации об ОС - C++

Восстановить пароль Регистрация
 
Hiyizhang
 Аватар для Hiyizhang
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 27
17.03.2014, 21:37     Получение информации об ОС #1
Есть программа которая показывает следующие функции:
1 Имя компьютера
2 Системная информация
3 Системные цвета
4 Директорию Windows

Код программы:
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
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include<TCHAR.H>
 
using namespace std;
void main()
{
    TCHAR Compname [20];
    DWORD namesize=20;
    cout<<endl<<endl<<"Computer name:"<<endl;
    cout<<"--------------------------------------------------------------------------------"<<endl;
    if (GetComputerName(Compname, &namesize))
    cout<<"\t"<<"Name - "<<Compname<<endl;
    else
    cout<<"\t"<<"Name computer - Error!!!"<<endl<<endl;
    cout<<"----------------------------------------------------------------------------------------------------------------------------------------------------------------"<<endl;
    
 
        
    SYSTEM_INFO lpSystemInfo;
    GetSystemInfo(&lpSystemInfo);
    cout<<endl<<endl<<"System Info:  "<<endl;
    cout<<"--------------------------------------------------------------------------------"<<endl;
    {
    cout<<"\t"<<lpSystemInfo.dwActiveProcessorMask<<" - Active Processor Mask"<<endl;
    cout<<"\t"<<lpSystemInfo.dwPageSize<<" - Page Size"<<endl;
    cout<<"\t"<<lpSystemInfo.dwAllocationGranularity<<" - Allocation Granularity"<<endl;
    cout<<"\t"<<lpSystemInfo.dwNumberOfProcessors<<" - Number Of Processors"<<endl;
    cout<<"\t"<<lpSystemInfo.dwOemId<<" - Oem Id"<<endl;
    cout<<"\t"<<lpSystemInfo.dwProcessorType<<" - Processor Type"<<endl;
    cout<<"\t"<<lpSystemInfo.lpMaximumApplicationAddress<<" - Maximum Application Address"<<endl;
    cout<<"\t"<<lpSystemInfo.lpMinimumApplicationAddress<<" - Minimum Application Address"<<endl;
    cout<<"\t"<<lpSystemInfo.wProcessorArchitecture<<" - Processor Architecture"<<endl<<endl;
 
    cout<<"----------------------------------------------------------------------------------------------------------------------------------------------------------------"<<endl;
    }
    
    cout<<endl<<"System Color"<<endl;
    cout<<"--------------------------------------------------------------------------------"<<endl;
    DWORD color=GetSysColor(COLOR_HIGHLIGHT);
    cout<<"COLOR_HIGHLIGHT - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_HIGHLIGHTTEXT);
    cout<<"COLOR_HIGHLIGHTTEXT - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_HOTLIGHT);
    cout<<"COLOR_HOTLIGHT - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_HOTLIGHT);
    cout<<"COLOR_HOTLIGHT - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_INACTIVEBORDER);
    cout<<"COLOR_INACTIVEBORDER - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_INACTIVECAPTION);
    cout<<"COLOR_INACTIVECAPTION - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_INACTIVECAPTIONTEXT);
    cout<<"COLOR_INACTIVECAPTIONTEXT - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_INFOBK);
    cout<<"COLOR_INFOBK - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_INFOTEXT);
    cout<<"COLOR_INFOTEXT - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_MENU);
    cout<<"COLOR_MENU - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_MENUTEXT);
    cout<<"COLOR_MENUTEXT - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_SCROLLBAR);
    cout<<"COLOR_SCROLLBAR - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_WINDOW);
    cout<<"COLOR_WINDOW - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_WINDOWFRAME);
    cout<<"COLOR_WINDOWFRAME - "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
    color=GetSysColor(COLOR_WINDOWTEXT);
    cout<<"COLOR_WINDOWTEXT- "<<(int)GetRValue(color)<<"x"<<(int)GetGValue(color)<<"x"<<(int)GetBValue(color)<<endl;
 
    
    cout<<endl;
    TCHAR dir[30];
    if(GetWindowsDirectory(dir,30)==1)
        cout<<"Error dir"<<endl;
    else
        cout<<"Windows Directory = "<<dir<<endl;
    cout<<"----------------------------------------------------------------------------------------------------------------------------------------------------------------"<<endl;
    
 
 
 
 
 
    _getch();
}
Вместо имени ПК и пути Директории Виндовс показывает кучу цифр,так не должно быть))
Что нужно исправить?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hiyizhang
 Аватар для Hiyizhang
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 27
17.03.2014, 21:39  [ТС]     Получение информации об ОС #2
Вот скрин выполнения.
Миниатюры
Получение информации об ОС  
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
17.03.2014, 23:05     Получение информации об ОС #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Hiyizhang, самый простой способ - использовать std::wcout вместо std::cout.
Hiyizhang
 Аватар для Hiyizhang
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 27
17.03.2014, 23:11  [ТС]     Получение информации об ОС #4
Благодарю все работает как надо)
Yandex
Объявления
17.03.2014, 23:11     Получение информации об ОС
Ответ Создать тему
Опции темы

Текущее время: 18:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru