• Thứ Ba, 01/12/2009 10:13 (GMT+7)

    Tài liệu cần thiết để lập trình VC++ 6.0 xem các thông tin về hệ thống máy tính

    Câu hỏi :
    Xin hỏi các tài liệu cần thiết để lập trình VC++ 6.0 xem các thông tin về hệ thống máy tính?
     

    Trả lời :
    Bạn có thể gọi hàm API Windows có tên là GetSystemInfo() và những hàm liên quan để truy xuất các thông tin về hệ thống máy tính đang chạy của bạn. Thông tin cụ thể và chi tiết về hàm GetSystemInfo() và những thí dụ về việc dùng hàm này được trình bày trong MSDN của Microsoft. Sau đây là qui trình điển hình để xây dựng ứng dụng VC++ hiển thị một số thông tin cơ bản của máy tính:

     1. Chạy VC++ 6.0, chọn menu File.New để hiển thị cửa sổ New, chọn tab Projects, chọn loại MFC AppWizard (EXE), chọn vị trí thư mục chứa Project, nhập tên Project (thí dụ DispSysInfo) rồi chọn button Ok để tạo Project.
     2. Khi cửa sổ Step 1 hiển thị, bạn chọn option Dialog Based rồi button Finish để tạo ứng dụng chứa 1 Form đơn giản.
     3. Thiết kế Form chứa 1 button với Caption = 'DispSysInfo' như hình 2.
     4. Nhấn đúp chuột vào button vừa tạo để tạo hàm xử lý sự kiện click chuột trên button rồi viết code cho hàm như sau:
     void CDispSysInfoDlg::OnButton1() {
     //tìm handle của form giao diện
     HDC hdc = this->GetWindowDC()->m_hDC;
     SYSTEM_INFO siSysInfo; //cấu trúc chứa các thông tin
     int aTabs[1] = {260}; //tab stop cho hàm TabbedTextOut
     TCHAR tchBuffer[256]; //buffer chứa chuỗi
     int nSize; //kích thước string
     
     //Hiển thị header của bàng thông tin
     nSize = sprintf(tchBuffer,'Hardware information:');
     TextOut(hdc, 15, 60, tchBuffer, nSize);
     //nhờ hệ thống lấy thông tin chứa vào biến siSysInfo.
     GetSystemInfo(&siSysInfo);
     //Hiển thị 1 số thông tin hệ thống tìm được
     nSize = sprintf(tchBuffer,
     'OEM ID: %u\tNumber of Processors: %u', siSysInfo.dwOemId,
     siSysInfo.dwNumberOfProcessors);
     TabbedTextOut(hdc, 25, 80, tchBuffer, nSize, 1, aTabs, 25);
     nSize = sprintf(tchBuffer,
     'Page size: %u\tProcessor Type: %u',
     siSysInfo.dwPageSize,
     siSysInfo.dwProcessorType);
     TabbedTextOut(hdc, 25, 100, tchBuffer, nSize, 1, aTabs, 25);
     nSize = sprintf(tchBuffer,
     'Minimum app address: %lx\tMaximum app address: %lx',
     siSysInfo.lpMinimumApplicationAddress,
     siSysInfo.lpMaximumApplicationAddress);
     TabbedTextOut(hdc, 25, 120, tchBuffer, nSize, 1, aTabs, 25);
     nSize = sprintf(tchBuffer,
     'Active processor mask: %u',
     siSysInfo.dwActiveProcessorMask);
     TextOut(hdc, 25, 140, tchBuffer, nSize);
     }
     5. Chọn menu Build.Execute DispSysInfo.exe để chạy ứng dụng, nhấn vào button DispSysInfo, một số thông tin hệ thống sẽ hiển thị lên Form.
    Chuyên mục: Lập trình