怎样远程显示本机CPU的占用率?

五角大寨 产品经理  2006-04-23 08:50:44
怎样远程显示本机CPU的占用率?
Web应用程序怎样与本地应用程序结合?

我要在浏览器上实时显示本地机器上的应用程序的数据,如本地的一个应用程序中测出来的CPU的占用率,我突然发现microsoft似乎故意避免了这两种类型应用程序的结合。

现在处于设计阶段,对Web应用程序不熟悉,有没有作个这种结构的朋友给介绍一下经验呀!!!
...全文
295 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wanglei051 2006-04-29
用ajax吧
  • 打赏
  • 举报
回复
aSalt 2006-04-28
上面的都行,都行...
  • 打赏
  • 举报
回复
DentistryDoctor 2006-04-28
Performance counter支持远程。
  • 打赏
  • 举报
回复
五角大寨 2006-04-27
我查了一下,jiangsheng兄说的不错,MSDN上给出了WSH脚本进行远程通讯的例子,不过在测试中始终遇到一个权限问题,要远程执行脚本,用户首先需要具有远程主机的一定权限(User权限?),或者将文件夹设为共享?似乎也不起作用,未果,厌烦放弃(是不是我学习太慢了?)

MSDN中还推荐WSH同WMI的配合使用,估计也有权限这个坎,需要等我多看有关文档才能搞定。

关于B/S application或hdt说的webservice都有我提到的刷新的频率太快闪屏和响应慢的问题,不过昨天一个同学Hawk说可以用Ajax中的“推”的技术。。。这个也不懂,先放在这里。

最后,Hawk还提到了,如果用推的技术,那么,直接用数据库作为中介就可以了,也就是本地应用程序将数据更新到数据库,而web应用程序将数据推到客户浏览器。呵呵,这个解决方案似乎最对我开发的路子,不知各位有何评价,方案确实可行吗?

我要作试验还需要很多时间,因为不懂“推”,先在线上讨论一段时间吧,大家帮我顶下:)
  • 打赏
  • 举报
回复
蒋晟 2006-04-25
WMI can be used on a remote computer, see Remote Administration with WMI (http://www.windowsitpro.com/Windows/Article/ArticleID/37596/37596.html)
You can also use .Net remoting, or write a B/S application.
  • 打赏
  • 举报
回复
socket , dcom , remoting , webservice

  • 打赏
  • 举报
回复
五角大寨 2006-04-25
use WMI 以及用PerformanceCounter的大概意思还是用Web应用程序直接读取本地的CPU数据,明白,大家给我一个从自己应用程序读占用率的一个替代方案,似乎我的问题没有问好:)

但我不想要替代方案,例如那我本地应用程序中的其他的实时信息又怎么在浏览器上实时浏览呢?

这个问题的背景很多,一是公司正好有这么一个需求。而上次。net聚会时,闫辉提到软件的发展方向是向服务转变,现在我有很多的本地应用程序,怎样很方便地转变为网络的服务呢?特别是有些本地应用程序可能比较低级(用C编成的),不适用。net实现。

我的想法是我在本地的应用程序与。net的服务器组件进行通讯,然后再由。net组件与浏览器进行通讯。

不知道我的想法可行否,怎么在msdn中找不到这样设计的方案呢?
  • 打赏
  • 举报
回复
Ninputer 2006-04-24
用PerformanceCounter呀,最合理的方案。对多处理器支持
  • 打赏
  • 举报
回复
蒋晟 2006-04-24
use WMI

In WinXP and higher, you can use the IWbemRefresher with the Win32_PerfFormattedData_PerfProc_Process class.

IN W2K and below, you can use a hand-crafted poller that keeps querying Win32_PerfRawData_PerfProc_Process, and you will have to add the "math logic" to your application.
'Get % Processor Time for a process
' after the script is started, launch Task Manager to see the result
' process name to monitor
sProcessName = "taskmgr"
'Connect to Local Machine
set wmi_service = _
GetObject("winmgmts:{impersonationlevel=impersonate}!\root\cimv2")
sObjectPath = "Win32_PerfRawData_PerfProc_Process.Name=" _
& chr(34) & sProcessName & chr(34)
wscript.echo "Monitoring " & sObjectPath
set perf_instance1 = wmi_service.get( sObjectPath )
N1 = perf_instance1.PercentProcessorTime
D1 = perf_instance1.TimeStamp_Sys100NS
do
'Sleep for one second = 1000 ms
wscript.sleep(1000)
set perf_instance2 = wmi_service.get( sObjectPath )
N2 = perf_instance2.PercentProcessorTime
D2 = perf_instance2.TimeStamp_Sys100NS
' CounterType - PERF_100NSEC_TIMER
' Formula = ((N2 - N1) / (D2 - D1)) x 100
if ( 0 = (D2-D1) ) then
wscript.echo "divide by zero"
else
PercentProcessorTime = ((N2 - N1) / (D2 - D1)) * 100
wscript.echo "% Processor Time = " , PercentProcessorTime
end if
N1 = N2
D1 = D2
'looping for 30 seconds
i = i + 1
loop until i = 30
WScript.Echo "Finished"
  • 打赏
  • 举报
回复
?
  • 打赏
  • 举报
回复
相关推荐
发帖
VC.NET
加入

7541

社区成员

.NET技术 VC.NET
申请成为版主
帖子事件
创建了帖子
2006-04-23 08:50
社区公告
暂无公告