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

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

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

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

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

textual
Листинг программы
using System;
using System.Runtime.InteropServices;
 
namespace n
{
    [StructLayout(LayoutKind.Sequential)]
    public struct SYSTEM_INFO
    {
        public ProcessorArchitecture ProcessorArchitecture; // WORD
        public uint PageSize; // DWORD
        public IntPtr MinimumApplicationAddress; // (long)void*
        public IntPtr MaximumApplicationAddress; // (long)void*
        public IntPtr ActiveProcessorMask; // DWORD*
        public uint NumberOfProcessors; // DWORD (WTF)
        public uint ProcessorType; // DWORD
        public uint AllocationGranularity; // DWORD
        public ushort ProcessorLevel; // WORD
        public ushort ProcessorRevision; // WORD
    }
    public enum ProcessorArchitecture
    {
        X86 = 0,
        X64 = 9,
        @Arm = -1,
        Itanium = 6,
        Unknown = 0xFFFF,
    }
 
    public enum SystemMetric
    {
        SM_CMOUSEBUTTONS = 43,
        SM_CMONITORS = 80,
    }
   
    class Program
    {
        [DllImport("kernel32.dll", SetLastError = false)]
 
        public static extern void GetSystemInfo(out SYSTEM_INFO Info);
 
        [DllImport("user32.dll")]
        static extern uint GetSysColor(int nIndex);
        [DllImport("user32.dll")]
        static extern int GetSystemMetrics(SystemMetric smIndex);
        static void Main(string[] args)
        {
 
            SYSTEM_INFO sys;
            GetSystemInfo(out sys);
 
            Console.WriteLine("Architecture:{0}",sys.ProcessorArchitecture);
            Console.WriteLine("Number of Processors:{0}",sys.NumberOfProcessors);
            Console.WriteLine("ScrollBar color:{0}",GetSysColor(0));
            Console.WriteLine("Number of monitors:{0}",GetSystemMetrics(SystemMetric.SM_CMONITORS));
            Console.WriteLine("Number of mouse buttons:{0}",GetSystemMetrics(SystemMetric.SM_CMOUSEBUTTONS));
 
        }
 
    }
  
 
 
}

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


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

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

8   голосов , оценка 4.25 из 5
Похожие ответы