3

我有一个需要使用 Oracle 32 位版本的应用程序。我了解,我可以将此添加为先决条件,如果它尚未安装在目标机器上,它将被下载并安装完成。

其实我的要求是“我需要做系统性能测试,比如内存大小、处理器速度、鼠标可用性、键盘可用性、打印机可用性、系统最大屏幕分辨率支持……等等。

是否有可能在设置之前测试所有信息?

我是部署项目的新手,你能告诉我从哪里开始吗?

4

1 回答 1

1

我不确定如何使用这些单独的功能,但以下是检查不同事物的功能:

        //Get system RAM
        private double GetSystemRam()
        {
            var searcher = new ManagementObjectSearcher("Select * From Win32_ComputerSystem");
            double total_Ram_Bytes = 0;
            foreach (ManagementObject Mobject in searcher.Get())
            {
                total_Ram_Bytes = (Convert.ToDouble(Mobject["TotalPhysicalMemory"]));
                Console.WriteLine("RAM Size in Giga Bytes: {0}", total_Ram_Bytes / 1073741824);

            }
            return total_Ram_Bytes;
        }


        //Get system processor speed
        private int GetprocessorSpeed()
        {
            var searcher = new ManagementObjectSearcher("select MaxClockSpeed from Win32_Processor");
            int processorSpeed = 0;
            foreach (var item in searcher.Get())
            {
                processorSpeed = Convert.ToInt32(item["MaxClockSpeed"]);
                Console.WriteLine("Processor Speed is(GHz):" + processorSpeed);
            }
            return processorSpeed;
        }


        //Get system maximum resolution
        private void GetMaxResolution()
        {
            using (var searcher = new System.Management.ManagementObjectSearcher("SELECT * FROM CIM_VideoControllerResolution"))
            {
                var results = searcher.Get();
                UInt32 maxHResolution = 0;
                UInt32 maxVResolution = 0;

                foreach (var item in results)
                {
                    if ((UInt32)item["HorizontalResolution"] > maxHResolution)
                        maxHResolution = (UInt32)item["HorizontalResolution"];

                    if ((UInt32)item["VerticalResolution"] > maxVResolution)
                        maxVResolution = (UInt32)item["VerticalResolution"];
                }

                Console.WriteLine("Max Supported Resolution " + maxHResolution + "x" + maxVResolution);
            }
        }


        //Check for availability of keyboard 
        private bool IsKeyboardAvailable()
        {
            bool isKeyboardAvailable = false;
            var searcher = new ManagementObjectSearcher("select * from Win32_Keyboard");

            List<string> keyBoardName = new List<string>();
            foreach (var item in searcher.Get())
            {
                keyBoardName.Add(Convert.ToString(item["Name"]));
                Console.WriteLine("KeyBoard name is :" + item["Name"]);
                isKeyboardAvailable = true;
            }
            return isKeyboardAvailable;
        }


        //Check for availability of printer
        private bool IsPrinterAvailable()
        {
            bool isPrinterAvailable = false;
            var searcher = new ManagementObjectSearcher("Select * from Win32_Printer");
            List<string> printerName = new List<string>();
            foreach (var item in searcher.Get())
            {
                printerName.Add(item["Name"].ToString().ToLower());
                Console.WriteLine("Printer name is :" + item["Name"]);
                isPrinterAvailable = true;
            }
            return isPrinterAvailable;
        }


        //Check for availability of mouse
        private bool IsMouseAvailable()
        {
            bool isMouseAvailable = false;
            var searcher = new ManagementObjectSearcher("Select * from Win32_PointingDevice");
            List<string> mouseType = new List<string>();
            foreach (var item in searcher.Get())
            {
                mouseType.Add(item["Name"].ToString().ToLower());
                Console.WriteLine("Mouse type is :" + item["Name"]);
                isMouseAvailable = true;
            }
            return isMouseAvailable;
        }

注意:我只是使用 Console.WriteLine 以便您可以查看值并使用 LIST,因此如果您愿意,可以进一步使用这些项目。

还可以阅读一些文章,例如如何获取硬件信息(CPU ID、主板信息、硬盘序列、系统信息……)

于 2013-03-26T07:05:08.460 回答