C# RAM

Salam proqramçılar. Demək mən C#-da işləyirəm İDE( Visual Studio 2010). mene lazim idi proqramda RAM-in gostericileri tapmaq. cox çətin bir yolla axir ki tapdim ama VB.NET-de bunu sade yolla computer info ile asanca həll etmək olur. ele bir yol bilirsiniz ki, VB.NET funksiyalarindan CⅦ-da istifadə betmək olsun? saytlara müraciət etmişəm. Mümkünsə təcrübəsi olan varsa bölüşsün

Verilmiş cavablar və yazılan şərhlər (2 cavab var)

hnatiq (2011-08-03 21:47:38)
Əlbəttə Sevinc xanım bu mükəmməl VB.NET -dir. :))) Buna deyirlər VB.NET kodları altında C#-da proqram yazmaq :)) Amma VB.NET-in bütün funksiyalarını tətbiq etmək olmur, əsas da sevimli operatorum olan On Error Resume Next-i. Tapsanız mənə də yazarsınız, mən hətta dll file kimi kitabxana kimi yazmaq istəyirdim alınmadı :)

Sevinc Azizova (2011-07-02 13:04:08)
Cavabı tapdım. Burdada paylaşıram ki, bəlkə kiməsə lazım olar. Demək C# RAM-ın göstəricəılərinə baxmaq üçün 3 üsul daha keçərlidir 1-ci üsulda reference olaraq System.Management-i əlavə etməklə objectquery-nin köməyi ilə tapmaq olar. Ümumiyyütlə objectquery-lerin köməyi ilə komputerə xeyli lazımlə sorğular göndərmək mümükündür. ..1-ci usulla belə yazdım ObjectQuery system = new ObjectQuery("SELECT * FROM Win32_OperatingSystem"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(system); ManagementObjectCollection results = searcher.Get(); foreach (ManagementObject result in results) { double umumi_ram, Bos_sahe, islenensahe, islenenfaiz, bosfaiz; //RAM-in umumi hecmi umumi_ram =Convert.ToDouble((result["TotalVisibleMemorySize"])); umumi_ram =Math.Round((umumi_ram / (1024))); //RAM-in bos sahesi Bos_sahe = Convert.ToDouble((result["FreePhysicalMemory"])); Bos_sahe =(Bos_sahe / (1024)); bosfaiz =Math.Round(Bos_sahe * 100 / umumi_ram); //RAM-in islenen sahesi islenensahe =Math.Round(umumi_ram - Bos_sahe); islenenfaiz = Math.Round(100 - bosfaiz); label1.Text = "Ümumi həcm:" + umumi_ram.ToString() + " MB" + Environment.NewLine + Environment.NewLine + "İşlənən sahə: " + islenensahe + " MB" + Environment.NewLine + Environment.NewLine + "Boş sahə: " + Bos_sahe.ToString() + " MB"; //+ Ram_virtual; bu usul C#-da işləyən ən yaxşı üsüldür mən bilən. 2-ci üsulla using System.Runtime.InteropServices; elave etmekle [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)] kitabxanasınıistifadə etməklə. Məncə bu üsul daha qəlizdir. 3.cü üsul isə VB.NET-in ComputerInfo clasindan istifade etməklə. Reference olaraq Microsoft.VisualBasic elave edib ve using Microsoft.VisualBasic.Devices; istifade edib asagidaki kimi almaq olar 3. double umumi_ram, Bos_sahe, islenensahe; Computer m = new Computer(); umumi_ram = m.Info.TotalPhysicalMemory / (1024 * 1024); Bos_sahe = m.Info.AvailablePhysicalMemory / (1024 * 1024); islenensahe = umumi_ram - Bos_sahe; label1.Text = ("Umimi həcm: " + umumi_ram.ToString() + Environment.NewLine + ", RAM İslenen_sahe:" + islenensahe.ToString() + Environment.NewLine + ", RAM Bos_sahe: " + Bos_sahe.ToString()); en sadə usul bu imis ama sadecə olaraq VB.NET-de belə classin olmasını və onu C#a reference etməyi bilmək lazm imiş Hər kəsə uğurlar!!

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

Proqram hazırlamaq üçün nələri bilmək lazımdır ?

web proqramlaşdırma

C++ undefined və unspecified behavior

Turniket proqramı, Golden Gate 2002

C# dərslikləri

C#-da 1 neçə button üçün yazılmış button