Собрать системную информацию используя WinAPI функций - C#
Формулировка задачи:
нужно собрать вот такую системную информацию системную информацию с помощью WinAPI функций
Типы всех логических дисков
Количество байт в секторе на каждом логическом диске
Количество процессоров в системе
Размер курсора
Каталог Windows
Качество цветопередачи (количество бит на цвет)
То что у меня сейчас есть
Количество байт в секторе на каждом логическом диске
и
размеры курсора
но этим кускам когда предшествовало
что я вообще почти не понимаю. понимаю что что то извлекается из библиотек Dll.
Помогите пожалуйста разобраться с этим
заранее благодарен
while (i < drives.Length)
{
g= GetDiskFreeSpace(drives[i], out a, out b, out c, out d);
if (g) { Console.WriteLine("Количество байт в секторе на диске {0}:" +' '+ b, drives[i]); Console.WriteLine("Размер свобоного дискового пространства на иске {0}:" +' '+ c * a * b, drives[i]); }
else Console.WriteLine("Нет диска в дисководе {0}", drives[i]);
i++;
} Console.WriteLine("Ширина курсора "+GetSystemMetrics(13)+" пикселя");
Console.WriteLine("Высота курсора " + GetSystemMetrics(14) + " пикселя");
Console.WriteLine(); [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern bool GetDiskFreeSpace(string lpRootPathName,
out uint lpSectorsPerCluster,
out uint lpBytesPerSector,
out uint lpNumberOfFreeClusters,
out uint lpTotalNumberOfClusters);
[DllImport("user32.dll", EntryPoint = ("GetSystemMetrics"))]
public static extern int GetSystemMetrics(int nIndex);
[DllImport("Advapi32.dll", CharSet = CharSet.Unicode)]
static extern int GetUserName(string lpBuffer, ref int nSize);
[DllImport("gdi32.dll")]
static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
[DllImport("user32.dll")]
static extern IntPtr GetDC(IntPtr hWnd);
[DllImport("gdi32.dll")]
static extern IntPtr CreateDC(string lpszDriver, string lpszDevice,
string lpszOutput, IntPtr lpInitData);Решение задачи: «Собрать системную информацию используя WinAPI функций»
textual
Листинг программы
int GetSystemMetrics(int nIndex) {
// тут исполняемый код
}