Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
-3 / 2 / 2
Регистрация: 02.03.2015
Сообщений: 57
1

Написать программу для получения сведений о системе, используя функции Win32 API

22.04.2015, 18:49. Показов 6869. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В институте такая вот задача далась, помогите её решить пожалуйста:
Написать программу для получения сведений о системе, используя функции
Win32 API типа: GetSystemDirectory (), GetWindowsDirectory (), GetComputerName (),
GetUserName (), GetVersionEx (), GetKeyboardType (). Для вывода результатов
использовать функции wsprintf (), WriteConsole ().
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2015, 18:49
Ответы с готовыми решениями:

Написать программу для получения сведений о системе, используя функции Win32 API
В институте такая вот задача далась, помогите её решить пожалуйста: Написать программу для...

Написать программу для получения сведений о системе, используя WinAPI функции
Всем доброго времени суток, в институте такая вот задача далась, помогите её решить пожалуйста: ...

Метод получения события о закрытии окна Win32 API
Подскажите метод (Win32 API) получения события о закрытии некоторого окна (естественно не моего...

Функции Win32 API для работы с процессами
Дайте плиз какую нить инфу по функциям Win32 API для работы с процессами,желательно с примерами;)

2
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
23.04.2015, 21:17 2
Лучший ответ Сообщение было отмечено IvankoIP как решение

Решение

IvankoIP,
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
using System;
using System.Runtime.InteropServices;
using System.Text;
 
namespace n
{
    struct OSVERSIONINFO
    {
        public uint dwOSVersionInfoSize;
        public uint dwMajorVersion;
        public uint dwMinorVersion;
        public uint dwBuildNumber;
        public uint dwPlatformId;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
        public string szCSDVersion;
        public Int16 wServicePackMajor;
        public Int16 wServicePackMinor;
        public Int16 wSuiteMask;
        public Byte wProductType;
        public Byte wReserved;
    }
    class Program
    {
        [DllImport("kernel32.dll")]
        static extern uint GetSystemDirectory([Out] StringBuilder lpBuffer,
           uint uSize);
        [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        static extern uint GetWindowsDirectory(StringBuilder lpBuffer,
           uint uSize);
        [DllImport("user32.dll", CallingConvention = CallingConvention.Cdecl)]
        static extern int wsprintf(
          [Out] StringBuilder buffer,
          string format,
          string  arg);
 
        [DllImport("kernel32.dll")]
        static extern bool WriteConsole(IntPtr hConsoleOutput, string lpBuffer,
           uint nNumberOfCharsToWrite, out uint lpNumberOfCharsWritten,
           IntPtr lpReserved);
 
        [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr GetStdHandle(int nStdHandle);
 
        [DllImport("Kernel32", CharSet = CharSet.Auto)]
        public static extern bool GetComputerName(StringBuilder buffer, ref uint size);
        [DllImport("advapi32.dll", SetLastError = true)]
        static extern bool GetUserName(StringBuilder sb, ref uint length);
        [DllImport("user32.dll")]
        static extern int GetKeyboardType(int nTypeFlag);
        static uint Write(string s)
        {
            const int STD_OUTPUT_HANDLE = -11;
            IntPtr iStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
            uint cchWritten;
            if (!WriteConsole(iStdOut,
                         s,
                         (uint)s.Length,
                         out cchWritten,
                         (IntPtr)0))
                return 0;
            return cchWritten;
        }
        [DllImport("kernel32")]
        static extern bool GetVersionEx(ref OSVERSIONINFO osvi);  
        static void Main(string[] args)
        {
            StringBuilder buffer=new StringBuilder(128);
            StringBuilder tmp=new StringBuilder(128);
            GetSystemDirectory(tmp, 128);
            wsprintf(buffer, "System Directory %s\n",tmp.ToString());
            Write(buffer.ToString());
 
            GetWindowsDirectory(tmp, 128);
            wsprintf(buffer, "Windows Directory %s\n", tmp.ToString());
            Write(buffer.ToString());
 
            uint l = 128;
 
            GetComputerName(tmp, ref l);
            wsprintf(buffer, "Computer name %s\n", tmp.ToString());
            Write(buffer.ToString());
 
            GetUserName(tmp, ref l);
            wsprintf(buffer, "User name %s\n", tmp.ToString());
            Write(buffer.ToString());
 
 
            OSVERSIONINFO o=new OSVERSIONINFO();
            GetVersionEx(ref o);
 
            wsprintf(buffer, "Platform ID %s\n", o.dwPlatformId.ToString());
            Write(buffer.ToString());
 
 
 
           int size= GetKeyboardType(2);
            wsprintf(buffer, "The number of function keys on the keyboard:%s\n", size.ToString());
            Write(buffer.ToString());
 
            Console.Read();
 
           
        }
 
    }
}
3
-3 / 2 / 2
Регистрация: 02.03.2015
Сообщений: 57
24.04.2015, 00:15  [ТС] 3
Огромное спасибо, спасли
0
24.04.2015, 00:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2015, 00:15
Помогаю со студенческими работами здесь

Написать программу для вычисления функции F, используя условный оператор
Дано задание написал программу #include <stdio.h> #include <conio.h> #include <math.h> void...

Используя оператор цикла While, написать программу для вычисления значений функции Y
что то затупил, никак не могу понять как сделать, на самом деле мне очень интересно, заранее...

Используя прототип функции написать программу для нахождения максимального элемента
Добрый вечер. Помогите решить задачку. Заранее благодарен!!! Используя прототип функции написать...

Написать программу для вычисления площади фигуры, используя 3 модуля и 3 пользовательские функции
Была поставлена задача написать программу для вычисления площади фигуры, используя 3 модуля и 3...


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

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