कंप्यूटर में राम की कुल मात्रा कैसे मिलती है?


88

C # का उपयोग करते हुए, मैं चाहता हूं कि मेरे कंप्यूटर में कुल मात्रा में RAM हो। PerformanceCounter के साथ, मैं उपलब्ध राम की राशि प्राप्त कर सकता हूँ, सेटिंग द्वारा:

counter.CategoryName = "Memory";
counter.Countername = "Available MBytes";

लेकिन मुझे स्मृति की कुल मात्रा पाने का कोई रास्ता नहीं मिल रहा है। मैं ऐसा कैसे कर पाऊंगा?

अपडेट करें:

MagicKat: मैंने देखा कि जब मैं खोज कर रहा था, लेकिन यह काम नहीं करता है - "क्या आप एक असेंबली या संदर्भ याद कर रहे हैं?"। मैंने उसे संदर्भों में जोड़ने के लिए देखा है, लेकिन मैं इसे वहां नहीं देखता।

जवाबों:


62

Windows API फ़ंक्शन GlobalMemoryStatusExको p / invoke के साथ बुलाया जा सकता है:

  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
  private class MEMORYSTATUSEX
  {
     public uint dwLength;
     public uint dwMemoryLoad;
     public ulong ullTotalPhys;
     public ulong ullAvailPhys;
     public ulong ullTotalPageFile;
     public ulong ullAvailPageFile;
     public ulong ullTotalVirtual;
     public ulong ullAvailVirtual;
     public ulong ullAvailExtendedVirtual;
     public MEMORYSTATUSEX()
     {
        this.dwLength = (uint)Marshal.SizeOf(typeof(NativeMethods.MEMORYSTATUSEX));
     }
  }


  [return: MarshalAs(UnmanagedType.Bool)]
  [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  static extern bool GlobalMemoryStatusEx([In, Out] MEMORYSTATUSEX lpBuffer);

फिर जैसे उपयोग करें:

ulong installedMemory;
MEMORYSTATUSEX memStatus = new MEMORYSTATUSEX();
if( GlobalMemoryStatusEx( memStatus))
{ 
   installedMemory = memStatus.ullTotalPhys;
}

या आप कक्षा TotalPhysicalMemoryमें क्वेरी करने के लिए WMI (प्रबंधित लेकिन धीमा) का उपयोग कर सकते हैं Win32_ComputerSystem


2
यह काम नहीं कर रहा है ... लंबे समय तक ramuse = (long) stat.TotalPhysical; long ramavailable = (long) stat.AvailablePhysical; लंबे रामतोतल = रामावलशाली + रामूस; int प्रतिशत = (int) ((फ्लोट) ramuse / ramtotal * 100); प्रतिशत मुझे "70" बता रहा है और कुल लगातार बदल रहा है, 100 दे या ले रहा है। 72% होना चाहिए
जोएल

5
कोड काम करता है, केवल आपको ऑब्जेक्ट का आकार प्राप्त करने के लिए 'NativeMethods' का उपयोग करने की आवश्यकता नहीं है, आप बस इस तरह कह सकते हैं: this.dwLength = (uint)Marshal.SizeOf(this);और यह वही काम करता है (मुझे NativeMethods का उपयोग करने में परेशानी थी इसलिए यह अब ठीक काम करता है)।
सिपि

2
"NativeMethods" प्रकार का नाम स्थान है। अगर आप चाहें तो SizeOf पर कॉल को बदला जा सकता है।
फिलिप रीक

2
@Corelgott बेकार क्योंकि यह तारीख की जानकारी देता है? मेरा मतलब है, हर बार मैं मौसम चैनल की जांच करता हूं, यह अलग-अलग जानकारी देता है, लेकिन मैं इतनी दूर नहीं जाऊंगा कि इसे पूरी तरह से बेकार कहूं। मुझे भी यकीन नहीं है कि आप इस फ़ंक्शन को क्या करना चाहते हैं यदि यह हर बार संभावित रूप से अलग-अलग जानकारी नहीं लौटाता है - क्या यह पहले आह्वान के बाद परिणामों को "लॉक" करना चाहिए और फिर उसके बाद बासी डेटा वापस करना चाहिए? किस तरह से यह अधिक उपयोगी होगा?
फिलिप रीक

2
पार्टी में थोड़ी देर हो गई लेकिन मैं इस धागे पर हुआ और यह जवाब सही नहीं है। GlobalMemoryStatusEx आवश्यक नहीं है (और अक्सर नहीं) मशीन पर स्थापित रैम की वास्तविक मात्रा देगा, यह ओएस को उपलब्ध होने वाली राशि देता है जो ड्राइवरों के लिए आरक्षित मेमोरी के कारण स्थापित राशि से लगभग हमेशा अलग होता है, आदि। । RAM की वास्तविक मात्रा स्थापित करने के लिए आप GetPhysicallyInstalledSystemMemory फ़ंक्शन को कॉल करना चाहेंगे जो उचित कुल रैम लौटाता है। msdn.microsoft.com/en-us/library/windows/desktop/…
माइक जॉनसन

182

Microsoft.VisualBasicऔर a का संदर्भ जोड़ें using Microsoft.VisualBasic.Devices;

ComputerInfoवर्ग सब जानकारी है कि आप की जरूरत है।


10
पृथ्वी पर यह मतदान क्यों किया गया? वोट बैक अप! यह इसे करने का सबसे आसान तरीका है, और हाँ आप इसे C # से कर सकते हैं।
पॉल बाटम

54
+1: कुछ लोगों के पास Microsoft #VisualBasic नाम स्थान का संदर्भ देने के लिए एक विरोधाभास है, भले ही यह वास्तव में सिर्फ एक और विधानसभा है जो हर चीज के हिस्से के रूप में स्थापित है।
बेवन

2
8 जीबी रैम के साथ विंडोज 7 64 बिट पर नकारात्मक कबाड़ मूल्य लौटाएं। Thats क्यों तुम नीचे मतदान किया?
पायोटर कुला

6
(नया ComputerInfo ()) TotalPhysicalMemory का उपयोग करने की किसी के लिए, यह उस से भी अधिक मेमोरी वाले सिस्टम पर ठीक काम करता है। इसका रिटर्न प्रकार लंबा है, इसलिए एक नकारात्मक (अमान्य) कास्ट के बिना एक नकारात्मक संख्या संभव नहीं है।
माइल्स स्ट्रोमबेक

6
var TotalGBRam = Convert.ToInt32 ((नया ComputerInfo ()। TotalPhysicalMemory / (Math.Pow (1024, 3)) + 0.5);
शॉन

63

Microsoft.VisualBasic.dll का संदर्भ जोड़ें, जैसा कि ऊपर किसी ने उल्लेख किया है। तब कुल भौतिक स्मृति प्राप्त करना इतना आसान है जितना कि (हाँ, मैंने इसका परीक्षण किया है):

static ulong GetTotalMemoryInBytes()
{
    return new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory;
}

4
@ppumkin, .NET के किस संस्करण में और विजुअल स्टूडियो के किस संस्करण में? जब मैं इसे 8 जीबी रैम के साथ 64-बिट मशीन पर .NET 4.5 का उपयोग करके वीएस 2012 में चलाता हूं, तो यह ठीक काम करता है। मुझे dy५२०३२32१६. वापस मिलता है।
रयान लुंडी

.NET 4, VS2010 32bit विंडोज प्रो 7 64 बिट पर
पियोट कुला

2
X64 पर ठीक काम करता है। आप एक 32 बिट वी.एस. का उपयोग कर रहे हैं जो संभवत: 32 बिट बायनेरिज़ को संकलित कर रहा है जो कि पूर्ण मेमोरी साइज़ को नहीं देखता है।
लुकास टस्के

2
जब इसे C # .Net 4.6.1 के साथ Visual Studio 2017 में उपयोग किया जाता है, तो मुझे यह काम करने के लिए Microsoft.VisualBasic का संदर्भ जोड़ना होगा। प्रोजेक्ट> संदर्भ जोड़ें> असेंबली> Microsoft की जाँच करें।
विवादास्पद।

मैंने GetPhysicallyInstalledSystemMemory और Microsoft.VisualBasic.Devices.ComputerInfo () के बीच अंतर देखा है। GB आकार: 32
fanuc_bob

36

यहां सभी उत्तर, जिसमें एक भी शामिल है, आपको उपयोग के लिए उपलब्ध रैम की कुल राशि देगा । और हो सकता है कि ओपी चाहता था।

लेकिन यदि आप स्थापित रैम की मात्रा प्राप्त करने में रुचि रखते हैं , तो आप GetPhysicallyInstalledSystemMemory फ़ंक्शन पर कॉल करना चाहते हैं ।

लिंक से, रिमार्क्स अनुभाग में:

GetPhysicallyInstalledSystemMemory समारोह कंप्यूटर की SMBIOS फर्मवेयर टेबल से शारीरिक रूप से स्थापित RAM की मात्रा प्राप्त करता है। यह GlobalMemoryStatusEx फ़ंक्शन द्वारा रिपोर्ट की गई राशि से भिन्न हो सकता है , जो ऑपरेटिंग सिस्टम का उपयोग करने के लिए उपलब्ध भौतिक मेमोरी की मात्रा के लिए MEMORYSTATUSEX संरचना के ullTotalPhys सदस्य को सेट करता है। ऑपरेटिंग सिस्टम पर उपलब्ध मेमोरी की मात्रा कंप्यूटर में शारीरिक रूप से स्थापित मेमोरी की मात्रा से कम हो सकती है क्योंकि मेमोरी और मैप किए गए डिवाइस के लिए BIOS और कुछ ड्राइवर मेमोरी को आरक्षित कर सकते हैं, जिससे मेमोरी ऑपरेटिंग सिस्टम के लिए अनुपलब्ध हो जाती है और अनुप्रयोग।

नमूना कोड:

[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.");
}

1
धन्यवाद! मैं वास्तव में इसे ढूंढ रहा था लेकिन हर जगह मैं केवल यह देख सकता हूं कि स्थापित एक के बजाय कुल उपलब्ध स्मृति को कैसे पाया जाए।
एसएम

यह मेरी आभासी मशीन पर अच्छी तरह से काम नहीं करता है, हालांकि मुख्य एक पर पूरी तरह से काम करने के बावजूद।
एसएम 10

31

यदि आप मोनो का उपयोग करते हैं, तो आपको यह जानने में रुचि हो सकती है कि मोनो 2.8 (इस साल के अंत में रिलीज़ होने के लिए) में एक प्रदर्शन काउंटर होगा जो सभी प्लेटफार्मों पर भौतिक स्मृति आकार की रिपोर्ट करता है जो मोनो (विंडोज सहित) पर चलता है। आप इस कोड स्निपेट का उपयोग करके काउंटर का मान पुनः प्राप्त करेंगे:

using System;
using System.Diagnostics;

class app
{
   static void Main ()
   {
       var pc = new PerformanceCounter ("Mono Memory", "Total Physical Memory");
       Console.WriteLine ("Physical RAM (bytes): {0}", pc.RawValue);
   }
}

यदि आप सी कोड में रुचि रखते हैं जो प्रदर्शन काउंटर प्रदान करता है, तो यह यहां पाया जा सकता है


एआरएम सिस्टम पर भी, किसी भी लिनक्स सिस्टम पर ठीक काम करता है।
harry4516

14

ऐसा करने का एक और तरीका, .NET System.Management क्वेरी सुविधाओं का उपयोग करके है:

string Query = "SELECT Capacity FROM Win32_PhysicalMemory";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(Query);

UInt64 Capacity = 0;
foreach (ManagementObject WniPART in searcher.Get())
{
    Capacity += Convert.ToUInt64(WniPART.Properties["Capacity"].Value);
}

return Capacity;

यह मेरी मशीन पर System.Management.ManagementException आउट मेमोरी ऑफ फेंक रहा है। कोई विचार?
अमर

2
मैं यह पसंद है। संदर्भ की आवश्यकता नहीं है Microsoft.VisualBasic.Devices। और एक-लाइनर के रूप मेंvar Capacity = new ManagementObjectSearcher("SELECT Capacity FROM Win32_PhysicalMemory").Get().Cast<ManagementObject>().Sum(x => Convert.ToInt64(x.Properties["Capacity"].Value));
VDWWD

10

उन लोगों के लिए जो उपलब्ध भौतिक स्मृति प्राप्त करने के लिए प्लेटफॉर्म .net Core 3.0का उपयोग करने की आवश्यकता नहीं है PInvokeGCवर्ग एक नई पद्धति जोड़ा गया है GC.GetGCMemoryInfoकि एक रिटर्न GCMemoryInfo Structके साथ TotalAvailableMemoryBytesएक संपत्ति के रूप में। यह संपत्ति कचरा संग्रहकर्ता के लिए कुल उपलब्ध मेमोरी लौटाती है। (MEMORYSTATUSEX के समान मूल्य)

var gcMemoryInfo = GC.GetGCMemoryInfo();
installedMemory = gcMemoryInfo.TotalAvailableMemoryBytes;
// it will give the size of memory in MB
var physicalMemory = (double) installedMemory / 1048576.0;

मेरा पसंदीदा जवाब। धन्यवाद।
मतस विट्केविसियस

7

आप उन सूचनाओं को प्राप्त करने के लिए बस इस कोड का उपयोग कर सकते हैं, बस संदर्भ जोड़ सकते हैं

using Microsoft.VisualBasic.Devices;

और बस निम्नलिखित कोड का उपयोग करें

    private void button1_Click(object sender, EventArgs e)
    {
        getAvailableRAM();
    }

    public void getAvailableRAM()
    {
        ComputerInfo CI = new ComputerInfo();
        ulong mem = ulong.Parse(CI.TotalPhysicalMemory.ToString());
        richTextBox1.Text = (mem / (1024*1024) + " MB").ToString();
    }

.net 4.6 संस्करण में नहीं मिला। मेरा मतलब है कि यह ComputerInfo नेमस्पेस नहीं मिला है। इससे भी अधिक ... नामस्थान 'उपकरण' मौजूद नहीं है।
गुमराह

5
// use `/ 1048576` to get ram in MB
// and `/ (1048576 * 1024)` or `/ 1048576 / 1024` to get ram in GB
private static String getRAMsize()
{
    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject item in moc)
    {
       return Convert.ToString(Math.Round(Convert.ToDouble(item.Properties["TotalPhysicalMemory"].Value) / 1048576, 0)) + " MB";
    }

    return "RAMsize";
}

5

आप WMI का उपयोग कर सकते हैं। एक स्निपिट मिला।

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _ 
& strComputer & "\root\cimv2") 
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")

For Each objComputer in colComputer 
  strMemory = objComputer.TotalPhysicalMemory
Next

ध्यान दें कि Setअब VB.NET की आवश्यकता नहीं है, क्या यह VB6 कोड है?
jrh

2

यह फ़ंक्शन ( ManagementQuery) Windows XP और बाद में काम करता है:

private static string ManagementQuery(string query, string parameter, string scope = null) {
    string result = string.Empty;
    var searcher = string.IsNullOrEmpty(scope) ? new ManagementObjectSearcher(query) : new ManagementObjectSearcher(scope, query);
    foreach (var os in searcher.Get()) {
        try {
            result = os[parameter].ToString();
        }
        catch {
            //ignore
        }

        if (!string.IsNullOrEmpty(result)) {
            break;
        }
    }

    return result;
}

उपयोग:

Console.WriteLine(BytesToMb(Convert.ToInt64(ManagementQuery("SELECT TotalPhysicalMemory FROM Win32_ComputerSystem", "TotalPhysicalMemory", "root\\CIMV2"))));

2
वह BytesToMbसमारोह कहाँ से आता है?
Cee McSharpface

@dlikikay यह आंतरिक है: निजी स्थिर डबल बाइट्सटॉम्ब (लंबी बाइट्स) {रिटर्न मैथ.ाउंड (बाइट्स / 1024 डी / 1024 डी, 2); }
लांस

1

.Net और मोनो के साथ संगत (Win10 / FreeBSD / CentOS के साथ परीक्षण)

मोनो के लिए ComputerInfoस्रोत कोड और PerformanceCounterएस का उपयोग करना । नेट के लिए बैकअप के रूप में:

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Security;

public class SystemMemoryInfo
{
    private readonly PerformanceCounter _monoAvailableMemoryCounter;
    private readonly PerformanceCounter _monoTotalMemoryCounter;
    private readonly PerformanceCounter _netAvailableMemoryCounter;

    private ulong _availablePhysicalMemory;
    private ulong _totalPhysicalMemory;

    public SystemMemoryInfo()
    {
        try
        {
            if (PerformanceCounterCategory.Exists("Mono Memory"))
            {
                _monoAvailableMemoryCounter = new PerformanceCounter("Mono Memory", "Available Physical Memory");
                _monoTotalMemoryCounter = new PerformanceCounter("Mono Memory", "Total Physical Memory");
            }
            else if (PerformanceCounterCategory.Exists("Memory"))
            {
                _netAvailableMemoryCounter = new PerformanceCounter("Memory", "Available Bytes");
            }
        }
        catch
        {
            // ignored
        }
    }

    public ulong AvailablePhysicalMemory
    {
        [SecurityCritical]
        get
        {
            Refresh();

            return _availablePhysicalMemory;
        }
    }

    public ulong TotalPhysicalMemory
    {
        [SecurityCritical]
        get
        {
            Refresh();

            return _totalPhysicalMemory;
        }
    }

    [SecurityCritical]
    [DllImport("Kernel32", CharSet = CharSet.Auto, SetLastError = true)]
    private static extern void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);

    [SecurityCritical]
    [DllImport("Kernel32", CharSet = CharSet.Auto, SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    private static extern bool GlobalMemoryStatusEx(ref MEMORYSTATUSEX lpBuffer);

    [SecurityCritical]
    private void Refresh()
    {
        try
        {
            if (_monoTotalMemoryCounter != null && _monoAvailableMemoryCounter != null)
            {
                _totalPhysicalMemory = (ulong) _monoTotalMemoryCounter.NextValue();
                _availablePhysicalMemory = (ulong) _monoAvailableMemoryCounter.NextValue();
            }
            else if (Environment.OSVersion.Version.Major < 5)
            {
                var memoryStatus = MEMORYSTATUS.Init();
                GlobalMemoryStatus(ref memoryStatus);

                if (memoryStatus.dwTotalPhys > 0)
                {
                    _availablePhysicalMemory = memoryStatus.dwAvailPhys;
                    _totalPhysicalMemory = memoryStatus.dwTotalPhys;
                }
                else if (_netAvailableMemoryCounter != null)
                {
                    _availablePhysicalMemory = (ulong) _netAvailableMemoryCounter.NextValue();
                }
            }
            else
            {
                var memoryStatusEx = MEMORYSTATUSEX.Init();

                if (GlobalMemoryStatusEx(ref memoryStatusEx))
                {
                    _availablePhysicalMemory = memoryStatusEx.ullAvailPhys;
                    _totalPhysicalMemory = memoryStatusEx.ullTotalPhys;
                }
                else if (_netAvailableMemoryCounter != null)
                {
                    _availablePhysicalMemory = (ulong) _netAvailableMemoryCounter.NextValue();
                }
            }
        }
        catch
        {
            // ignored
        }
    }

    private struct MEMORYSTATUS
    {
        private uint dwLength;
        internal uint dwMemoryLoad;
        internal uint dwTotalPhys;
        internal uint dwAvailPhys;
        internal uint dwTotalPageFile;
        internal uint dwAvailPageFile;
        internal uint dwTotalVirtual;
        internal uint dwAvailVirtual;

        public static MEMORYSTATUS Init()
        {
            return new MEMORYSTATUS
            {
                dwLength = checked((uint) Marshal.SizeOf(typeof(MEMORYSTATUS)))
            };
        }
    }

    private struct MEMORYSTATUSEX
    {
        private uint dwLength;
        internal uint dwMemoryLoad;
        internal ulong ullTotalPhys;
        internal ulong ullAvailPhys;
        internal ulong ullTotalPageFile;
        internal ulong ullAvailPageFile;
        internal ulong ullTotalVirtual;
        internal ulong ullAvailVirtual;
        internal ulong ullAvailExtendedVirtual;

        public static MEMORYSTATUSEX Init()
        {
            return new MEMORYSTATUSEX
            {
                dwLength = checked((uint) Marshal.SizeOf(typeof(MEMORYSTATUSEX)))
            };
        }
    }
}

0

किसी ने अभी तक GetPerformanceInfo का उल्लेख नहीं किया है। PInvoke हस्ताक्षर उपलब्ध हैं।

यह फ़ंक्शन निम्न सिस्टम-वाइड जानकारी उपलब्ध कराता है:

  • CommitTotal
  • CommitLimit
  • CommitPeak
  • PhysicalTotal
  • PhysicalAvailable
  • SystemCache
  • KernelTotal
  • KernelPaged
  • KernelNonpaged
  • पृष्ठ आकार
  • HandleCount
  • ProcessCount
  • धागा गिनती

PhysicalTotalक्या ओपी की तलाश है, हालांकि मूल्य पृष्ठों की संख्या है, इसलिए बाइट में परिवर्तित करने के लिए, PageSizeलौटाए गए मूल्य से गुणा करें ।


0

.NIT में उस मेमोरी की मात्रा की सीमा होती है, जो कुल पहुंच सकती है। वहाँ एक प्रतिशत है, और फिर xp में 2 जीबी कठिन छत था।

आप इसमें 4 जीबी रख सकते हैं, और यह 2 जीबी हिट होने पर ऐप को मार देगा।

64 बिट मोड में भी, मेमोरी का एक प्रतिशत है जिसे आप सिस्टम से बाहर का उपयोग कर सकते हैं, इसलिए मुझे यकीन नहीं है कि आप पूरी बात पूछ सकते हैं या यदि यह विशेष रूप से संरक्षित है।


/नहीं/। कुल भौतिक स्मृति का अर्थ है वास्तविक रूप से स्थापित भौतिक स्मृति।
मैथ्यू फ्लैशेन

दरअसल, DevelopingChris सही है। यदि आप GlobalMemoryStatusEx को 4 गीग राम की XP मशीन के साथ कहते हैं, तो यह रिपोर्ट करेगा कि केवल 3 गिग स्थापित है।
एपीटी

इसके अलावा, WMI का उपयोग कर WinP_ComputerSystem या Win32_LogicalMemoryConfiguration में TotalPhysicalMemory का उपयोग करना भी गलत परिणाम उत्पन्न करता है।
एपीट्टर

धन्यवाद, इसका यह नहीं कि मैं इस सवाल को नहीं समझता कि आपको एक .net पुस्तकालय के अलावा अन्य जानकारी के लिए एक अलग स्रोत का उपयोग करना होगा।
विकासशील

यह उत्तर एकमात्र है जो समझ में आता है। मैं विजुअलबासिक संदर्भित का उपयोग करके विन 64 8 जीबी रैम पर अब इसे थका देता हूं। मुझे जंक नेगेटिव वैल्यू मिलती है।
पायोटर कुला

-3
/*The simplest way to get/display total physical memory in VB.net (Tested)

public sub get_total_physical_mem()

    dim total_physical_memory as integer

    total_physical_memory=CInt((My.Computer.Info.TotalPhysicalMemory) / (1024 * 1024))
    MsgBox("Total Physical Memory" + CInt((My.Computer.Info.TotalPhysicalMemory) / (1024 * 1024)).ToString + "Mb" )
end sub
*/


//The simplest way to get/display total physical memory in C# (converted Form http://www.developerfusion.com/tools/convert/vb-to-csharp)

public void get_total_physical_mem()
{
    int total_physical_memory = 0;

    total_physical_memory = Convert.ToInt32((My.Computer.Info.TotalPhysicalMemory) /  (1024 * 1024));
    Interaction.MsgBox("Total Physical Memory" + Convert.ToInt32((My.Computer.Info.TotalPhysicalMemory) / (1024 * 1024)).ToString() + "Mb");
}

6
यह CShap कन्वर्टर्स को ऑनलाइन विज़ुअल बेसिक के लिए धन्यवाद हो सकता है।
निक बनेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.