Start of C# rewrite.

#14
This commit is contained in:
efrick 2021-06-29 11:17:15 -04:00
parent 16af781a94
commit 1b4a1dd52b

View File

@ -0,0 +1,82 @@
using System;
using System.Collections.Generic;
using System.Management;
using System.IO;
using System.Threading.Tasks;
using System.Text;
using System.Reflection;
namespace Sysinfo_Console
{
class Sysinfo_Console
{
public static List<String> System_Information()
{
List<String> all_info = new List<String>();
//Create an object of ManagementObjectSearcher class and pass query as parameter.
ManagementObjectSearcher win32_mos = new ManagementObjectSearcher("select * from Win32_OperatingSystem");
ManagementObjectSearcher ram_mos = new ManagementObjectSearcher("select * from Win32_PhysicalMemory");
Double full_ram = 0;
foreach (ManagementObject managementObject in win32_mos.Get())
{
if (managementObject["Caption"] != null)
{
all_info.Add("Operating System Name: \n" + managementObject["Caption"].ToString());
//Console.WriteLine("Operating System Name : " + managementObject["Caption"].ToString()); //Display operating system caption
}
if (managementObject["OSArchitecture"] != null)
{
all_info.Add("Operating System Architecture: \n" + managementObject["OSArchitecture"].ToString());
//Console.WriteLine("Operating System Architecture : " + managementObject["OSArchitecture"].ToString()); //Display operating system architecture.
}
if (managementObject["CSDVersion"] != null)
{
all_info.Add(managementObject["CSDVersion"].ToString());
//Console.WriteLine("Operating System Service Pack : " + managementObject["CSDVersion"].ToString()); //Display operating system version.
}
}
foreach(ManagementObject managementObject in ram_mos.Get())
{
if (managementObject["Capacity"] != null)
{
//Console.WriteLine(managementObject["Capacity"].ToString());
full_ram += Convert.ToDouble(managementObject["Capacity"].ToString());
}
}
all_info.Add("RAM:\n" + (full_ram / 1073741824) + "GB");
//Console.ReadKey();
return all_info;
}
public static void Display_System_Information(List<String> computer_info)
{
Console.WriteLine("Displaying operating system info....\n");
foreach (var p in computer_info)
{
Console.WriteLine(p);
}
}
public static void Wirte_System_Information(List<String> computer_info, String desktop_path)
{
String file_path = desktop_path + "\\Sysinfo.txt";
File.WriteAllLines(file_path, computer_info);
Console.WriteLine("Writing info to: " + file_path);
//foreach (var line in computer_info)
//{
// File.WriteAllLines(".\\Sysinfo.txt", line);
//}
}
static void Main(string[] args)
{
String current_path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
String desktop_path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Console.WriteLine(current_path + "\n" + desktop_path);
List<String> machine_info = System_Information();
Display_System_Information(machine_info);
Wirte_System_Information(machine_info, desktop_path);
}
}
}