javascript 获取硬件信息

摘自 csdn

// 看了看别的资料有提取CPU,MAC的现成代码却没有硬盘序列号,找了好久才找到提取硬盘序列号的参数。于是自己给补上了。
<script> 
function disk() {//硬盘序列号 信息 
   var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 
   var service = locator.ConnectServer("."); 
   var properties = service.ExecQuery("SELECT * FROM Win32_DiskDrive"); 
   var e = new Enumerator (properties); 
   
   document.write("<table border=1>"); 
    document.write("<caption>硬盘序列号 信息</caption>"); 
   for (;!e.atEnd();e.moveNext ()) 
   { 
      var p = e.item (); 
      document.write("<tr>"); 
      document.write("<td style='color:blue'>" + p.signature + "</td>"); 
      document.write("</tr>"); 
   } 
   document.write("</table>"); 
disk();
</script>  <br>
// 在这上找的代码: 
// 对于写过ASP或.net 的人来说,通过asp或.net 语言来获得客户端的硬件信息是很熟悉的.
// 但如何通过javascript这种客户端脚本来获得客户端的信息呢?请看以下实例: 
<br><script> 
 
   
function Button1_onclick() {//CPU 信息 
   var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 
   var service = locator.ConnectServer("."); 
   var properties = service.ExecQuery("SELECT * FROM Win32_Processor"); 
   var e = new Enumerator (properties); 
   document.write("<table border=1>"); 
   document.write("<caption>CPU 信息</caption>"); 
   for (;!e.atEnd();e.moveNext ()) 
   { 
      var p = e.item (); 
      document.write("<tr>"); 
      document.write("<td>" + p.Caption + "</td>"); 
      document.write("<td>" + p.DeviceID + "</td>"); 
      document.write("<td>" + p.Name + "</td>"); 
      document.write("<td>" + p.CpuStatus + "</td>"); 
      document.write("<td>" + p.Availability + "</td>"); 
      document.write("<td>" + p.Level + "</td>"); 
      document.write("<td style='color:blue'>" + p.ProcessorID + "</td>"); 
      document.write("<td>" + p.SystemName + "</td>"); 
      document.write("<td>" + p.ProcessorType + "</td>"); 
      document.write("</tr>"); 
   } 
   document.write("</table>"); 
 
 
   
function Button2_onclick() {//软盘信息 
   var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 
   var service = locator.ConnectServer("."); 
   var properties = service.ExecQuery("SELECT * FROM Win32_FloppyDrive"); 
   var e = new Enumerator (properties); 
   document.write("<table border=1>"); 
   document.write("<caption>软盘信息 </caption>"); 
   for (;!e.atEnd();e.moveNext ()) 
   { 
      var p = e.item (); 
      document.write("<tr>"); 
      document.write("<td>" + p.Description + "</td>"); 
      document.write("<td>" + p.DeviceID + "</td>"); 
      document.write("<td>" + p.Status + "</td>"); 
      document.write("<td>" + p.Manufacuturer + "</td>"); 
      document.write("</tr>"); 
   } 
   document.write("</table>"); 
   
function Button3_onclick() {//CD-ROM 信息 
   var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 
   var service = locator.ConnectServer("."); 
   var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive"); 
   var e = new Enumerator (properties); 
   document.write("<table border=1>"); 
   document.write("<caption>CD-ROM 信息 </caption>"); 
   for (;!e.atEnd();e.moveNext ()) 
   { 
      var p = e.item (); 
      document.write("<tr>"); 
      document.write("<td>" + p.Caption + "</td>"); 
      document.write("<td>" + p.Description + "</td>"); 
      document.write("<td>" + p.Drive + "</td>"); 
      document.write("<td>" + p.Status + "</td>"); 
      document.write("<td>" + p.MediaLoaded + "</td>"); 
      document.write("</tr>"); 
   } 
   document.write("</table>"); 
   
function Button4_onclick() {//键盘信息 
   var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 
   var service = locator.ConnectServer("."); 
   var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard"); 
   var e = new Enumerator (properties); 
   document.write("<table border=1>");
   document.write("<caption>键盘信息 </caption>");  
   for (;!e.atEnd();e.moveNext ()) 
   { 
      var p = e.item (); 
      document.write("<tr>"); 
      document.write("<td>" + p.Description + "</td>"); 
      document.write("<td>" + p.Name + "</td>"); 
      document.write("<td>" + p.Status + "</td>"); 
      document.write("</tr>"); 
   } 
   document.write("</table>"); 
   
function Button5_onclick() {//主板信息 
   var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 
   var service = locator.ConnectServer("."); 
   var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard"); 
   var e = new Enumerator (properties); 
   document.write("<table border=1>"); 
   document.write("<caption>主板信息 </caption>");  
   for (;!e.atEnd();e.moveNext ()) 
   { 
      var p = e.item (); 
      document.write("<tr>"); 
      document.write("<td>" + p.HostingBoard + "</td>"); 
      document.write("<td>" + p.Manufacturer + "</td>"); 
      document.write("<td>" + p.PoweredOn + "</td>"); 
      document.write("<td>" + p.Product + "</td>"); 
      document.write("<td style='color:blue'>" + p.SerialNumber + "</td>"); 
      document.write("<td>" + p.Version + "</td>"); 
      document.write("</tr>"); 
   } 
   document.write("</table>"); 
   Button1_onclick();
   Button2_onclick();
   Button3_onclick();
   Button4_onclick();
   Button5_onclick();
 
</script> 

posted @   梦幻泡影  阅读(1634)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示