クライアント コンピュータのハードウェアおよびシステム情報を取得する JavaScript メソッド_JavaScript スキル
クライアント
ハードウェア情報
クライアント コンピューターのハードウェアとシステム情報を取得するための 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("
" 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("
" 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("
" 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("
" p.HostingBoard " | ");" p.Manufacturing " | ");" p.PoweredOn " | ");" p.Product " | ");" p.SerialNumber " | ");" p.Version " | ");
}
さらに、次の方法でシステムの関連情報を取得することもできます:
复制代代码如下: