3

Oracle 32 ビット バージョンを使用する必要があるアプリケーションがあります。了解しました。これを前提条件として追加できます。ターゲット マシンにまだインストールされていない場合は、ダウンロードされてインストールされます。

実際、私の要件は「 RAM サイズ、プロセッサ速度、マウスの可用性、キーボードの可用性、プリンターの可用性、システムの最大画面解像度のサポートなどのシステム パフォーマンス テストを行う必要がある」です。

セットアップ前にすべての情報をテストする可能性はありますか?

プロジェクトを展開するのは初めてです。どこから始めればよいか教えてください。

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 に答える