Написать программу для получения сведений о системе, используя 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)); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д