Получить список драйверов - C#
Формулировка задачи:
ПОМОГИТЕ ПОЖАЛУЙСТА! Нужно написать программу на С#, которая сможет посмотреть список драйверов, в данный момент загружены в конкретной ПЭВМ. Если точнее "Определить драйвера, резидентные в памяти компьютера на своем рабочем месте."
Решение задачи: «Получить список драйверов»
textual
Листинг программы
- using System;
- using System.Runtime.InteropServices;
- using System.Text;
- namespace EnumDeviceDrivers
- {
- class Program
- {
- [DllImport("psapi")] private static extern bool EnumDeviceDrivers([MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U4)]
- [In][Out] UInt32[] ddAddresses,UInt32 arraySizeBytes, [MarshalAs(UnmanagedType.U4)] out UInt32 bytesNeeded);
- [DllImport("psapi")]
- private static extern int GetDeviceDriverBaseName(UInt32 ddAddress,StringBuilder ddBaseName, int baseNameStringSizeChars);
- static void Main(string[] args)
- {
- UInt32 arraySize;
- UInt32 arraySizeBytes;
- UInt32[] ddAddresses;
- UInt32 bytesNeeded;
- bool success;
- success = EnumDeviceDrivers(null, 0, out bytesNeeded);
- arraySize = bytesNeeded / 4;
- arraySizeBytes = bytesNeeded;
- ddAddresses = new UInt32[arraySize];
- success = EnumDeviceDrivers(ddAddresses, arraySizeBytes, out bytesNeeded);
- for (int i = 0; i < arraySize; i++)
- {
- StringBuilder sb = new StringBuilder(1000);
- int result = GetDeviceDriverBaseName(ddAddresses[i], sb, sb.Capacity);
- Console.WriteLine("BaseName: " + sb.ToString());
- }
- while (true)
- if (Console.ReadKey(true).Key == ConsoleKey.Escape)
- Environment.Exit(0);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д