【问题标题】:Determining CPU and RAM usage in a Silverlight 4 WIndows Sidebar Gadget确定 Silverlight 4 WIndows 边栏小工具中的 CPU 和 RAM 使用情况
【发布时间】:2011-02-12 02:15:23
【问题描述】:

我正在尝试编写一个 Silverlight 4 Windows 边栏小工具,除其他外,它可以监视主机的每个 CPU 内核的使用情况(以百分比表示)和 RAM 的使用情况(以字节为单位)。我尝试使用 System.Management,但 Visual Studio 不允许我添加它,因为它不是 Silverlight 的一部分。

最后,我正在寻找一些简单地返回特定 CPU 内核使用情况的方法。自动检测核心数量将是一个奖励。 RAM 也是如此。

广泛的搜索使我相信这可以通过 COM+ 自动化实现,但我不知道如何实现。任何方向将不胜感激。

【问题讨论】:

    标签: c# silverlight com+ windows-desktop-gadgets


    【解决方案1】:

    您可以使用System.Windows.Analytics 类获取系统统计信息..

    它有一个AverageProcessorLoad,您可以使用它来获取当前的 CPU 使用率(值介于 0 和 1 之间) .而且它仅适用于 Silverlight

    您可以像这样简单地使用它:

    float averageCPUUsage = System.Windows.Analytics.AverageProcessorLoad; 
    float myAppCPUUsage = System.Windows.Analytics.AverageProcessLoad;// Get cpu usage by your current app.
    

    更新

    但从 Silverlight 来看,这是我们所能做到的。对于 RAM 和处理器数量,您需要在客户端本身安装一些东西来告诉您..从浏览器中您不能这样做。

    【讨论】:

    • 这很好,但它只给了我所有核心的平均负载。每个核心都有负载会很好。另外,我看不到任何获得空闲/总内存的方法。
    • 抱歉,但从 silverlight 来看,这是我们所能做到的。对于 RAM 和处理器数量,您需要在客户端本身安装一些东西来告诉您.. 从浏览器中您可以t.
    【解决方案2】:

    您还可以查看System.Windows.Analyticsthis article 上的使用示例。

    那篇文章中的一小段代码显示了System.Windows.Analytics的用法:

    public partial class Page : UserControl 
    { 
        Analytics analytics;
    
        public Page() 
        { 
            InitializeComponent(); 
            CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering);            
        }
    
        void CompositionTarget_Rendering(object sender, EventArgs e) 
        { 
            if (analytics == null) 
                analytics = new Analytics();
        }
    }
    

    【讨论】:

    • 这应该是对 Shekhar 回答的评论。
    • 或者至少总结一下如何使用该文章中的代码实现 OP 的目标:meta.stackexchange.com/questions/13369/…
    • 是的,当然,它应该作为对先前答案的评论发布,但我没有找到“添加评论”按钮。
    • 啊,抱歉,我没有注意到您的代表太少,无法发布comments。我的错。
    猜你喜欢
    • 2010-09-20
    • 2011-01-18
    • 2010-12-24
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多