Определение использования ЦП и ОЗУ в гаджете боковой панели Windows Silverlight 4 - PullRequest
2 голосов
/ 12 февраля 2011

Я пытаюсь написать гаджет боковой панели Windows Silverlight 4, который, помимо прочего, может отслеживать использование каждого ядра процессора (в процентах) и использование оперативной памяти (в байтах) хост-компьютера. Я пытался использовать System.Management, но Visual Studio не позволит мне добавить его, поскольку он не является частью Silverlight.

В конце я ищу какой-нибудь метод, который просто возвращает использование определенного ядра ЦП. Автоматическое определение количества ядер будет бонусом. То же самое касается оперативной памяти.

Обширный поиск привел меня к мысли, что это возможно с помощью автоматизации COM +, но я не знаю, как это сделать. Любое направление будет очень цениться.

Ответы [ 2 ]

1 голос
/ 11 июля 2011

Вы также можете посмотреть пример использования System.Windows.Analytics на этой статье .

Небольшой фрагмент кода из этой статьи, который показывает использование 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();
    }
}
1 голос
/ 12 февраля 2011

Вы можете использовать System.Windows.Analytics класс для получения статистики системы ..

Имеет AverageProcessorLoad , который можно использовать для получения текущего использования ЦП (значение от 0 до 1). . И только для Silverlight .

Вы можете просто использовать его так:

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

Обновление

Но от Silverlight это так далеко, как мы можем ... для подсчета ОЗУ и процессора вам нужно будет что-то установить на стороне клиента, чтобы сказать вам ... из браузера вы не можете.

...