Esempio n. 1
0
        private void GetMemoryInfo()
        {
            // Lấy thông tin trạng thái Memory
            MEMORYSTATUSEX statEX = new MEMORYSTATUSEX();

            statEX.dwLength = (uint)Marshal.SizeOf(typeof(MEMORYSTATUSEX));
            lbxInfo.Items.Clear();
            if (API.GlobalMemoryStatusEx(ref statEX))
            {
                pbRAM.Value = (int)statEX.dwMemoryLoad;

                lbRAM.Text = statEX.dwMemoryLoad + " %"; // 0-100

                lbxInfo.Items.Add("Tổng kích thước (Vật lý): " + statEX.ullTotalPhys + " bytes");
                lbxInfo.Items.Add("Kích thước (Vật lý) có sẵn: " + statEX.ullAvailPhys + " bytes");
                lbxInfo.Items.Add("Kích thước (Ảo) đã sử dụng: " + (statEX.ullTotalPageFile - statEX.ullTotalPhys) + " bytes");
                lbxInfo.Items.Add("Kích thước (Ảo) khả dụng: " + (statEX.ullAvailPageFile - statEX.ullAvailPhys) + " bytes");
            }

            // Hàm lấy thông tin hiệu suất
            PERFORMANCE_INFORMATION perfInfo = new PERFORMANCE_INFORMATION();
            uint input_size = (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(PERFORMANCE_INFORMATION));

            if (API.GetPerformanceInfo(out perfInfo, input_size))
            {
                lbxInfo.Items.Add("-----------------------------------------------------------------------");
                lbxInfo.Items.Add("Số trang tối đa hiện tại: " + perfInfo.CommitLimit.ToUInt64() + " pages");
                lbxInfo.Items.Add("Số trang tối đa đồng thời: " + perfInfo.CommitPeak.ToUInt64() + " pages");
                lbxInfo.Items.Add("Kích thước 1 trang: " + perfInfo.PageSize.ToUInt64() + " bytes");
                lbxInfo.Items.Add("Số handle: " + perfInfo.HandleCount);
                lbxInfo.Items.Add("Số process: " + perfInfo.ProcessCount);
                lbxInfo.Items.Add("Số thread: " + perfInfo.ThreadCount);
            }
        }
Esempio n. 2
0
        private void GetProcesses()
        {
            procs = Process.GetProcesses(); //Trả về tất cả các tiến trình đang chạy trên máy tính
            if (Convert.ToInt32(lbProcess.Text) != procs.Length)
            {
                lbxProcess.Items.Clear();

                for (int i = 0; i < procs.Length; i++)
                {
                    lbxProcess.Items.Add("> " + procs[i].ProcessName); // Tạo danh sách tương tự task manager
                }
            }
            PERFORMANCE_INFORMATION perfInfo = new PERFORMANCE_INFORMATION();
            uint input_size = (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(PERFORMANCE_INFORMATION));

            if (API.GetPerformanceInfo(out perfInfo, input_size))
            {
                lbProcess.Text = perfInfo.ProcessCount.ToString();
            }
        }
Esempio n. 3
0
 public static extern bool GetPerformanceInfo(out PERFORMANCE_INFORMATION pPerformanceInformation, uint cb);