اذهب إلى المحتوى

السؤال

نشر
#include<windows.h>
#include<stdio.h>
#pragma comment(lib,"user32.lib")
#include "stdafx.h"
using namespace System;
using namespace System::Management;

void printHardwareInfo(string^ hardwareClass,string^ propertyName)
{
    ManagementObjectSearcher^ searcher = gcnew ManagementObjectSearcher("root\\CIMV2","SELECT * FROM" +hardwareClass);
    ManagementObjectSearcher^ collection = searcher->Get();

    for each (ManagementObject^ object in collection)
    {
        console::WriteLine(object[propertyName]->ToString());
    }
}
int main()
{
 printHardwareInfo("win32_Processor","Name");
  printHardwareInfo("win32_VideoController","Name");
 printHardwareInfo("win32_BaseBoard","Product")  ;
 Console::Read();
 return 0;
}

ماهي المكتبات التي ينبغي كتابتها حتى يعمل هذا الكود

Recommended Posts

  • 0
نشر

مرحبا أسماء،

ما هي مكونات الملف stdafx.h

بالنسبة للمكتبات، إذا كانت محاضرات دراسية أزن توجد مع الشروحات أو المراجع

وفي حال أي كورس فأرجو توضيح المضمون و تحديد السؤال بشكل أفضل

و بالبحث في غوغل عن اسم الدوال يمكنك معرفة المكتبات التي يحتاجها البرنامج

بالتوفيق

  • 0
نشر

الكود المعروض هو لجلب بيانات بعض اجزاء الحاسب الالي 

المعالج - كارت العرض - اللوحه الام 

الاقتراحات لحل مشكلتك

يجب التاكد من التالي 

1- في خصائص المشروع الذهاب الى advanced 

 

common language runtime support
تختاري الاختيار الثاني 
common language runtime support  (clr)

هذا يضيف مكتبات Framework الى التطبيق 

2 - 

يحتاج التطبيق الى مكتبتين فقط 

// #include<windows.h>
// #include<stdio.h>
// #pragma comment(lib,"user32.lib")
// #include "stdafx.h"
// ما سبق يمكن الغاءه من الكود
using namespace System;
using namespace System::Management;

و لتشغيل المكتبتين المذكورين بالاعلى 

references >
references add 

و تقومين باضافة المكتبتين 

System
System.Management

هذا ما يحتاجه التطبيق من مكتبات و بعد مراجعة الكود المرفق بسؤالك هناك بعض الاخطاء 
 

//#include<windows.h>
//#include<stdio.h>
//#pragma comment(lib,"user32.lib")
//#include "stdafx.h"
// لا نحتاج ما سبق
using namespace System;
using namespace System::Management;
//void printHardwareInfo(string^ hardwareClass,string^ propertyName)
// string >> String
void printHardwareInfo(String^ hardwareClass,String^ propertyName)
{
    ManagementObjectSearcher^ searcher = gcnew ManagementObjectSearcher("root\\CIMV2","SELECT * FROM" +hardwareClass);
    
  // ManagementObjectSearcher^ collection = searcher->Get();
  // ManagementObjectSearcher >> ManagementObjectCollection
  ManagementObjectCollection^ collection = searcher->Get();

    for each (ManagementObject^ object in collection)
    {
        console::WriteLine(object[propertyName]->ToString());
    }
}
int main()
{
 printHardwareInfo("win32_Processor","Name");
 printHardwareInfo("win32_VideoController","Name");
 printHardwareInfo("win32_BaseBoard","Product")  ;
 Console::Read();
 return 0;
}

كل ما سبق ممكن ان يتغير بتغير الاصدار البرمجي المستخدم او نظام التشغيل 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...