Помогите написать мини программу
1) полный физический объем памяти, объем виртуальной памяти - сколько памяти занято и свободно каждого типа
2) модель процессора: производителя, название и тип, количество процессоров, а так же версию BIOS (вывести строку!!!, т. е. не числовые значения модели, степпинга, а например «Intel P4-core»)
3) тактовую частоту процессора
4) версию ОС, номер версии ОС
5) логические диски в ОС и их тип (жесткий, сменный, CD-ROM, сетевой диск) (1 балл)
6) имя текущего принтера, если он установлен
C#
Определение конфигурации компьютера различными способами. Программирование на С#
вот первое:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
load();
}
//апи функция для просмотра памяти
[DllImport("kernel32.dll")]
//для выделения памяти
public static extern IntPtr GlobalAlloc(int con, int size);
[DllImport("kernel32.dll")]
//для освобождения
public static extern int GlobalFree(IntPtr start);
[DllImport("kernel32.dll")]
public static extern void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);
//
public struct MEMORYSTATUS
{
public UInt32 dwLength; //Размер структуры, в байтах-хз че это
public UInt32 dwMemoryLoad; //процент занятой памяти
public UInt32 dwTotalPhys; //общее кол-во физической (оперативной) памяти
public UInt32 dwAvailPhys; //свободное кол-во физической (оперативной) памяти
public UInt32 dwTotalPageFile; //предел памяти для системы или текущего процесса
public UInt32 dwAvailPageFile; //Максимальный объем памяти, который текущий процесс может передать в байтах.
public UInt32 dwTotalVirtual; //общее количество виртуальной памяти (файл подкачки)
public UInt32 dwAvailVirtual; //свободное количество виртуальной памяти (файл подкачки)
public UInt32 dwAvailExtendedVirtual; //Зарезервировано. Постоянно 0.
}
//функция для считывания памяти
public void load()
{
//объявляем переменную типа мемористатус
MEMORYSTATUS memStatus = new MEMORYSTATUS();
//вызываем функцию с аргументом мемори статус
GlobalMemoryStatus(ref memStatus);
dataGridView1.Rows.Add("Используемая память", memStatus.dwMemoryLoad.ToString()+" %");
dataGridView1.Rows.Add("Общая память файлов подкачки", memStatus.dwTotalPageFile.ToString());
dataGridView1.Rows.Add("Свободная память файлов подкачки", memStatus.dwAvailPageFile.ToString());
dataGridView1.Rows.Add("Общая виртуальная память", memStatus.dwTotalVirtual.ToString());
dataGridView1.Rows.Add("Свободная виртуальная память", memStatus.dwAvailVirtual.ToString());
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Clear();
load();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
load();
}
//апи функция для просмотра памяти
[DllImport("kernel32.dll")]
//для выделения памяти
public static extern IntPtr GlobalAlloc(int con, int size);
[DllImport("kernel32.dll")]
//для освобождения
public static extern int GlobalFree(IntPtr start);
[DllImport("kernel32.dll")]
public static extern void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);
//
public struct MEMORYSTATUS
{
public UInt32 dwLength; //Размер структуры, в байтах-хз че это
public UInt32 dwMemoryLoad; //процент занятой памяти
public UInt32 dwTotalPhys; //общее кол-во физической (оперативной) памяти
public UInt32 dwAvailPhys; //свободное кол-во физической (оперативной) памяти
public UInt32 dwTotalPageFile; //предел памяти для системы или текущего процесса
public UInt32 dwAvailPageFile; //Максимальный объем памяти, который текущий процесс может передать в байтах.
public UInt32 dwTotalVirtual; //общее количество виртуальной памяти (файл подкачки)
public UInt32 dwAvailVirtual; //свободное количество виртуальной памяти (файл подкачки)
public UInt32 dwAvailExtendedVirtual; //Зарезервировано. Постоянно 0.
}
//функция для считывания памяти
public void load()
{
//объявляем переменную типа мемористатус
MEMORYSTATUS memStatus = new MEMORYSTATUS();
//вызываем функцию с аргументом мемори статус
GlobalMemoryStatus(ref memStatus);
dataGridView1.Rows.Add("Используемая память", memStatus.dwMemoryLoad.ToString()+" %");
dataGridView1.Rows.Add("Общая память файлов подкачки", memStatus.dwTotalPageFile.ToString());
dataGridView1.Rows.Add("Свободная память файлов подкачки", memStatus.dwAvailPageFile.ToString());
dataGridView1.Rows.Add("Общая виртуальная память", memStatus.dwTotalVirtual.ToString());
dataGridView1.Rows.Add("Свободная виртуальная память", memStatus.dwAvailVirtual.ToString());
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Clear();
load();
}
}
}
Похожие вопросы
- Как выучить язык программирования?
- Как выглядит сам процесс программирования на C#
- Что делать если туго даётся программирование ?
- Посоветуйте пожалуйста книгу, для изучения языка программирования C#, с полного нуля, заранее спасибо!
- Можно ли дома самому изучить языки программирования и начать свои программы писать или мобильные приложения и игры?
- Как создали программу для программирования если не было программы для программирования???
- Программирование на C Sharp (C#)
- За сколько времени можно выучить язык программирования? (JavaScript)
- Я изучал программирование на протяжении 4 лет и ничего не умею, как это возможно и что со мной не так? Учил С# и Unity
- Какой язык программирования проще..