ホームページ >ウェブフロントエンド >jsチュートリアル >クライアント コンピュータのハードウェアおよびシステム情報を取得する JavaScript メソッド_JavaScript スキル

クライアント コンピュータのハードウェアおよびシステム情報を取得する JavaScript メソッド_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 17:05:401229ブラウズ

クライアント コンピューターのハードウェアとシステム情報を取得するための JavaScript
WMI 経由でクライアント コンピューターのハードウェアとシステム情報を取得する:

コードをコピー コードは次のとおりです。

function getSysInfo(){
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".") );
//CPU 情報
var cpu = new Enumerator (service.ExecQuery("SELECT * FROM Win32_Processor")).item();
var cpuType=cpu.Name,hostName=cpu.SystemName ;
//メモリ情報
varmemory = new Enumerator (service.ExecQuery("SELECT * FROM Win32_PhysicalMemory"));
for (var mem=[],i=0;!memory.atEnd( );memory.moveNext()) mem[i ]={cap:memory.item().Capacity/1024/1024,speed:memory.item().Speed}
//システム情報
var system =new Enumerator (service.ExecQuery("SELECT * FROM Win32_ComputerSystem")).item();
var physicMenCap=Math.ceil(system.TotalPhysicalMemory/1024/1024),curUser=system.UserName,cpuCount=system. NumberOfProcessors

return {cpuType:cpuType,cpuCount:cpuCount,hostName:hostName,curUser:curUser,memCap:physicMenCap,mem:mem}
}

主にコード実装これらの部分が含まれます:

まず、新しい ActiveXObject ("WbemScripting.SWbemLocator") を通じて WbemScripting オブジェクトにアクセスします。
locator.ConnectServer("."); を通じてローカル コンピューターに接続します (. はローカル コンピューターを表します。もちろん、
は他のコンピューターにもアクセスできます)。
SQL のようなステートメントである service.ExecQuery("SELECT * FROM Win32_Processor") を通じて、必要なオブジェクトのレコード セットを取得します (実際、計算ではシステム情報もデータベースのようなファイルに保存されます)。 。
新しい Enumerator を使用して列挙可能なオブジェクトを作成すると、トラバースして情報を取得できます。

注: 実行の前提条件は、ブラウザのセキュリティ設定を「実行しても安全とマークされていない ActiveX
スクリプトの実行を許可する」に変更することです。
ここでの主な情報は CPU、メモリ、システム ユーザーです。
の詳細情報を取得するには、WMI API または JSEDIT を使用できます。共通情報のクラスを以下に示します。

Win32_Processor // CPU プロセッサ

Win32_PhysicalMemory // 物理メモリ

Win32_Keyboard // キーボード

Win32_PointingDevice // ポイントマウスなどの入力デバイス

Win32_DiskDrive // ハードドライブ

Win32_CDROMDrive // CD ドライブ

Win32_BaseBoard // マザーボード

Win32_BIOS / / BIOS チップ

Win32_ParallelPort // パラレル ポート

Win32_SerialPort // シリアル ポート

Win32_SoundDevice // マルチメディア設定

Win32_USBController // USB コントローラー

Win32_NetworkAdapter // ネットワーク アダプター

Win32_NetworkAdapterConfiguration // ネットワーク アダプターの設定

Win32_Printer // プリンター

Win32_PrinterConfiguration // プリンター設定

Win32_PrintJob //プリンター タスク

Win32_TCPIPPrinterPort // プリンター ポート

Win32_POTSModem // モデム

Win32_POTSModemToSerialPort // モデム ポート

Win32_DesktopMonitor // モニター

Win32_VideoController // カードの詳細を表示します。

Win32_VideoSettings // グラフィックス カードがサポートする表示モード。

Win32_TimeZone // タイムゾーン

Win32_SystemDriver // ドライバー

Win32_DiskPartition // ディスク パーティション

Win32_LogicalDisk // 論理ディスク

Win32_LogicalMemoryConfiguration // 論理メモリ構成

Win32_PageFile // システム ページ ファイル情報

Win32_PageFileSetting // ページ ファイル設定

Win32_BootConfiguration // システム起動構成

Win32_OperatingSystem / / オペレーティング システム情報

Win32_StartupCommand // システム自動起動プログラム

Win32_Service // システムにインストールされているサービス

Win32_Group // システム管理グループ

Win32_GroupUser / /システム グループ アカウント

Win32_UserAccount // ユーザー アカウント

Win32_Process // システム プロセス

Win32_Thread // システム スレッド

Win32_Share // 共有

Win32_NetworkClient // インストールされたネットワーク クライアント

Win32_NetworkProtocol // インストールされたネットワーク プロトコル

WMI Win32 クラスの完全な情報と詳細なリストについては、MSDN を参照してください:
http://msdn2 .microsoft.com/en-us/library/aa394084(VS.85).aspx
例:
コードをコピー コードは次のとおりです:

function button1_onclick() {//cpu 情報
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var property = service.ExecQuery("SELECT * FROM Win32_Processor");
var e = 新しい列挙子 (プロパティ);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" p.Caption "" p.DeviceID "" p.Name "" p.CpuStatus " " p.Availability "" p.Level " " p.ProcessorID "" p.SystemName "" p.ProcessorType "
");
}

function Button2_onclick() {//CD-ROM 情報
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var property = service.ExecQuery("SELECT * FROM Win32_CDROMDrive");
var e = 新しい列挙子 (プロパティ);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" p.Caption "" p.Description "" p.Drive "" p.Status "" p.MediaLoaded "
");
}

function Button3_onclick() {//键盘情報
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var property = service.ExecQuery("SELECT * FROM Win32_Keyboard");
var e = 新しい列挙子 (プロパティ);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" p.Description "" p.Name "" p.Status "
");
}

function Button4_onclick() {//メインパネル情報
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var property = service.ExecQuery("SELECT * FROM Win32_BaseBoard");
var e = 新しい列挙子 (プロパティ);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" p.HostingBoard "" p.Manufacturing "" p.PoweredOn " " p.Product "" p.SerialNumber "" p.Version "
");
}


さらに、次の方法でシステムの関連情報を取得することもできます:
复制代代码如下:

WMI スクリプト HTML













复制代代码如下:

実際、最も重要なことは 2 つの ActiveX を使用することです:
>< ;OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223>
ただし、これら 2 つの ActiveX はシステムに付属しているため、ダウンロードしたり登録したりする必要はありません。
次のステップは、スクリプトを使用して ActiveX と対話することです




;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。