Có cách nào để lập trình tìm cầu bắc cầu của chipset hệ thống, tên cầu nam và thông tin phần cứng khác trên cửa sổ không? Tôi không nghĩ WMI cung cấp thông tin này. Tôi đang cố gắng tìm ra cách các công cụ như hwinfo và cpuinfo tìm thông tin này.Có cách nào để tìm cầu bắc cầu, tên cầu bắc và các thông tin phần cứng khác trên trình duyệt của chương trình không?
Trả lời
dân thường làm loại công cụ này thông qua WMI, nhưng nó thất bại trong việc cung cấp thông tin hữu ích rất nhiều lần, thậm chí cung cấp "sai" thông tin vì đôi khi nó dựa vào nhà cung cấp điền thông tin từ BIOS (thông qua SMBIOS), thường xuyên bị trống hoặc không đúng, thay vì liên lạc với phần cứng cụ thể.
Tôi đã trải qua trải nghiệm này trước khi nhận thông tin RAM. WMI cung cấp thông tin BIOS sai và tôi thấy rằng chip RAM đi kèm với chip SPD (Serial Presence Detect) đặc biệt mà tôi cần để liên lạc. Cuối cùng, chủ nhân của tôi đã chọn API CPUID.
Ở đây tác giả CPU-Z nói một chút về chủ đề này trong một cuộc phỏng vấn:
http://www.techpowerup.com/mobile/reviews/Interviews/Franck_Delattre/1.html.
Để nhận thông tin như thế này, bạn cần tìm kiếm cách giao tiếp với không gian cấu hình PCI ở chế độ hạt nhân thông qua trình điều khiển hoặc đi một số API thay thế sẽ thực hiện việc này cho bạn.
Dưới đây là một số liên kết Tôi đã trải qua vào thời điểm đó:
http://www.codeproject.com/Articles/35378/Access-Physical-Memory-Port-and-PCI-Configuration
http://support.microsoft.com/?scid=kb;en-us;253232&x=3&y=13
http://www.hollistech.com/Resources/Misc%20articles/getbusdata.htm
http://www.osronline.com/showThread.CFM?link=176210#T4
Ngoài ra, tôi nghĩ là đáng kể về các hàm SetupDi trong Windows đôi khi là abl e để cung cấp thông tin mà WMI không thể.
- 1. ARC, cầu bắc cầu và GHUnit
- 2. bắc cầu giữa hai bộ mô tả tệp
- 3. CFURLRef đòi hỏi một lỗi cast bắc cầu
- 4. Sự khác biệt giữa yêu cầu AJAX và yêu cầu trình duyệt thông thường
- 5. Maven - phụ thuộc bắc cầu với các phiên bản khác nhau
- 6. Chạy chương trình python từ chương trình python khác (với các yêu cầu nhất định)
- 7. Trình duyệt với yêu cầu ('fs')
- 8. Làm cách nào để tìm hiểu các yêu cầu phần cứng mà ứng dụng Android của tôi có?
- 9. Android: Nhận thông tin phần cứng theo lập trình
- 10. Cách tìm tập tin mở toàn cầu trong một chương trình perl
- 11. Làm thế nào để ngăn trình duyệt yêu cầu favicon?
- 12. Trình quản lý API WSO2 - nó có thể chuyển đổi các yêu cầu REST thành các yêu cầu SOAP trên chương trình phụ trợ không?
- 13. Cách tốt nhất để báo hiệu người gọi dequeue rằng cuộc gọi giờ đây được bắc cầu với Twilio?
- 14. Làm thế nào để bạn loại trừ một sự phụ thuộc bắc cầu dự án trong gradle
- 15. Làm cách nào để nhận được các phần khác nhau của url của yêu cầu Flask?
- 16. Cách kiểm tra xem các yêu cầu HTTP có đang mở trong trình duyệt không?
- 17. Yêu cầu SOAP JavaScript trong Trình duyệt không trả lời
- 18. Bản đồ Mathematica Bắc Mỹ
- 19. Tại sao yêu cầu miền chéo này hoạt động trong các trình duyệt khác chứ không phải IE9?
- 20. Sử dụng bộ tạo số ngẫu nhiên đúng của phần cứng của cầu cát?
- 21. Yêu cầu đối với lập trình Kinect
- 22. Thông tin trình duyệt chéo đáng tin cậy trên ContentEditable
- 23. Mọi yêu cầu web có gửi cookie của trình duyệt không?
- 24. Xác định yêu cầu ajax hoặc yêu cầu trình duyệt trong bộ điều khiển grails
- 25. Cách yêu cầu quyền của quản trị viên khi chương trình bắt đầu?
- 26. Tôi làm cách nào để yêu cầu Trình tạo Flash gỡ lỗi SWF trong cửa sổ trình duyệt mới?
- 27. ios: yêu cầu đăng ký chương trình Game Center theo chương trình?
- 28. Thực hiện yêu cầu trình duyệt trong ASP.net C#
- 29. Hồ sơ dưa chuột và móc toàn cầu để chọn trình duyệt
- 30. Nhận thông tin phần cứng trên Android?
Cảm ơn Chico. Tôi đã đi qua SetupDi Api. Mặc dù chúng có vẻ tốt hơn WMI, chúng vẫn không đáng tin cậy hầu hết thời gian. Thật đáng ngạc nhiên là khó tìm ra một ví dụ tốt cho loại công cụ này như thế nào. Nếu tôi kết thúc việc tìm kiếm một cách đáng tin cậy, tôi sẽ đăng nó lên github :) – ivymike
@ivymike ok, tôi đã không may mắn với thông tin RAM, KHÔNG CÓ NGUỒN TIN CẬY để trích xuất thông tin từ các chip SPD. Tôi đã có thể xây dựng một trình điều khiển đơn giản để kích hoạt SMBUS cho một ICH cụ thể (chip cầu nam của Intel) được xây dựng trên bo mạch chủ PC cũ của tôi. Kích hoạt SMBUS là bước đầu tiên để trích xuất thông tin từ các chip này, tôi đã tìm thấy một số hướng dẫn về gói linux lm-sensor có một mô-đun cho giao tiếp SMBUS và một kịch bản perl để giải thích dữ liệu SPD. Dù sao, tôi đã làm điều đó giống như một bằng chứng về khái niệm, nó hoạt động dựa trên biểu dữ liệu của phiên bản ICH cụ thể của tôi, có ... –
@ivymike ... địa chỉ không gian cấu hình PCI cụ thể. Thông số kỹ thuật phần cứng thay đổi ngay cả từ phiên bản sang phiên bản cho cùng một nhà cung cấp. Tôi cần hỗ trợ danh sách các nhà cung cấp. Đây là những gì CPUID API làm, và cũng là những gì mà gói lm-sensor thực hiện. Nguồn đáng tin cậy duy nhất sẽ thực hiện loại nỗ lực hỗ trợ phần cứng khổng lồ này. –