Alle Antworten hier, einschließlich der akzeptierten, geben Ihnen die Gesamtmenge an RAM, die zur Verwendung verfügbar ist . Und das war vielleicht das, was OP wollte.
Wenn Sie jedoch an der Menge des installierten Arbeitsspeichers interessiert sind , sollten Sie die Funktion GetPhysicallyInstalledSystemMemory aufrufen .
Über den Link im Abschnitt "Bemerkungen":
Die Funktion GetPhysicallyInstalledSystemMemory ruft die Menge des physisch installierten RAM aus den SMBIOS-Firmware-Tabellen des Computers ab. Dies kann von der von der GlobalMemoryStatusEx- Funktion gemeldeten Menge abweichen , mit der das ullTotalPhys-Mitglied der MEMORYSTATUSEX-Struktur auf die Menge an physischem Speicher festgelegt wird, die für das Betriebssystem verfügbar ist. Die für das Betriebssystem verfügbare Speichermenge kann geringer sein als die physisch auf dem Computer installierte Speichermenge, da das BIOS und einige Treiber möglicherweise Speicher als E / A-Bereiche für Geräte mit Speicherzuordnung reservieren und der Speicher für das Betriebssystem nicht verfügbar ist und Anwendungen.
Beispielcode:
[DllImport("kernel32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetPhysicallyInstalledSystemMemory(out long TotalMemoryInKilobytes);
static void Main()
{
long memKb;
GetPhysicallyInstalledSystemMemory(out memKb);
Console.WriteLine((memKb / 1024 / 1024) + " GB of RAM installed.");
}