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

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Написать программу для получения сведений о системе, используя WinAPI функции»

textual
Листинг программы
  1. using System;
  2. using System.Runtime.InteropServices;
  3.  
  4. namespace n
  5. {
  6.     [StructLayout(LayoutKind.Sequential)]
  7.     public struct SYSTEM_INFO
  8.     {
  9.         public ProcessorArchitecture ProcessorArchitecture; // WORD
  10.         public uint PageSize; // DWORD
  11.         public IntPtr MinimumApplicationAddress; // (long)void*
  12.         public IntPtr MaximumApplicationAddress; // (long)void*
  13.         public IntPtr ActiveProcessorMask; // DWORD*
  14.         public uint NumberOfProcessors; // DWORD (WTF)
  15.         public uint ProcessorType; // DWORD
  16.         public uint AllocationGranularity; // DWORD
  17.         public ushort ProcessorLevel; // WORD
  18.         public ushort ProcessorRevision; // WORD
  19.     }
  20.     public enum ProcessorArchitecture
  21.     {
  22.         X86 = 0,
  23.         X64 = 9,
  24.         @Arm = -1,
  25.         Itanium = 6,
  26.         Unknown = 0xFFFF,
  27.     }
  28.  
  29.     public enum SystemMetric
  30.     {
  31.         SM_CMOUSEBUTTONS = 43,
  32.         SM_CMONITORS = 80,
  33.     }
  34.    
  35.     class Program
  36.     {
  37.         [DllImport("kernel32.dll", SetLastError = false)]
  38.  
  39.         public static extern void GetSystemInfo(out SYSTEM_INFO Info);
  40.  
  41.         [DllImport("user32.dll")]
  42.         static extern uint GetSysColor(int nIndex);
  43.         [DllImport("user32.dll")]
  44.         static extern int GetSystemMetrics(SystemMetric smIndex);
  45.         static void Main(string[] args)
  46.         {
  47.  
  48.             SYSTEM_INFO sys;
  49.             GetSystemInfo(out sys);
  50.  
  51.             Console.WriteLine("Architecture:{0}",sys.ProcessorArchitecture);
  52.             Console.WriteLine("Number of Processors:{0}",sys.NumberOfProcessors);
  53.             Console.WriteLine("ScrollBar color:{0}",GetSysColor(0));
  54.             Console.WriteLine("Number of monitors:{0}",GetSystemMetrics(SystemMetric.SM_CMONITORS));
  55.             Console.WriteLine("Number of mouse buttons:{0}",GetSystemMetrics(SystemMetric.SM_CMOUSEBUTTONS));
  56.  
  57.         }
  58.  
  59.     }
  60.  
  61.  
  62.  
  63. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы