求助怎么样用javascript或asp取得主机的硬盘和内存的信息?

shuyingkongshi 2010-01-21 09:24:14
求助怎么样用javascript或asp取得主机的硬盘和内存的信息?
...全文
62 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
donet_expert 2010-01-21
  • 打赏
  • 举报
回复
用javascript实现不了的,我给你提供个例子是用.net实现的,你自己好好琢磨下:
Imports System.Management
Imports System.Data.SqlClient

Module Module1
Private _ComputerName As String = "."
Private _UserName As String = "Changeme to Runon a remote machine"
Private _Password As String = "Changeme to Runon a remote machine"
Private _SelectQuery As String = "SELECT * FROMWin32_Process WHERE name='w3wp.exe'"
Private _DateEntered As DateTime =System.DateTime.Now()

Sub Main()
Try
GetProcessInfo()
Catch f As Exception
ErrorHandler(f)
End Try
End Sub

Sub GetProcessInfo()
Try
'**********************************************
'Uncomment this out if you want to run on a remotemachine and
'comment out the other 'scope' variable
'You will get an error about trying passcredentials to the local machine
'
'Dim options As New ConnectionOptions()
'options.Username = _UserName
'options.Password = _Password

'Dim scope As New ManagementScope("\\"& _ComputerName & "\root\cimv2", options)
'**********************************************

'Comment this out if you are going to test on aremote machine
'This will default to authenticating to the localmachine
Dim scope As New ManagementScope("\\"& _ComputerName & "\root\cimv2")

Dim selectQuery As New SelectQuery(_SelectQuery)
Dim searcher As NewManagementObjectSearcher(scope, selectQuery)

Try
scope.Connect()
Catch f As Exception
ErrorHandler(f)
Exit Sub
End Try


For Each queryObj As ManagementObject Insearcher.Get()
Console.WriteLine(queryObj("WorkingSetSize") / 1024)
Console.WriteLine(queryObj("PeakWorkingSetSize") / 1024)
Console.WriteLine(queryObj("PageFileUsage")/ 1024)
Console.WriteLine(queryObj("PeakPageFileSystem") / 1024)
Console.WriteLine(GetOwnerObject(queryObj("Handle")))
Next
Catch f As Exception
ErrorHandler(f)
End Try
End Sub

Function GetOwnerObject(ByVal strHandle As String)As Object
Dim options As New ConnectionOptions()
options.Username = _UserName
options.Password = _Password

'**********************************************
'Uncomment this out if you want to run on a remotemachine and
'comment out the other 'scope' variable
'You will get an error about trying passcredentials to the local machine
'
'Dim options As New ConnectionOptions()
'options.Username = _UserName
'options.Password = _Password
'Dim s As New ManagementScope("\\" &_ComputerName & "\root\cimv2", options)
'**********************************************

'Comment this out if you are going to test on aremote machine
'This will default to authenticating to the localmachine
Dim s As New ManagementScope("\\" &_ComputerName & "\root\cimv2", options)

Dim p As New ManagementPath( _
"Win32_Process.Handle='" & strHandle & "'")

Dim opt As ObjectGetOptions
opt = New ObjectGetOptions()

Dim o As ManagementObject
o = New ManagementObject(s, p, opt)

' Execute the method and obtain the return values.
Dim outParams As ManagementBaseObject = _
o.InvokeMethod("GetOwner", Nothing, Nothing)
Return outParams("User").ToString()
End Function

Sub ErrorHandler(ByVal Exp As Exception)
Dim LogName As String
Dim Message As String
Dim Log As New System.Diagnostics.EventLog

Try
LogName = "Application"
Message = "Message: " &Exp.ToString()

If (Not System.Diagnostics.EventLog.SourceExists(LogName))Then
System.Diagnostics.EventLog.CreateEventSource(LogName, LogName)
End If

Log.Source = LogName
Log.WriteEntry(Message)
Log.Close()
Log.Dispose()
Catch ex As Exception
End Try
End Sub

End Module


详细信息你可以看这里:http://aspalliance.com/806_CodeSnip_Get_memory_size_usage_using_WMI_and_NET_20
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-21 09:24
社区公告
暂无公告