Как получить время простоя программы?

355
23 января 2017, 17:22

А именно время простоя в котором не было переключения на окно программы.

При этом может происходит работа в других программах.

Answer 1

Вот вам небольшой пример на WPF:

public partial class MainWindow : Window
{
    Stopwatch sw = new Stopwatch(); // счётчик времени
    public MainWindow()
    {
        InitializeComponent();
        Activated += (o, args) => sw.Start();
        Deactivated += (o, args) => sw.Stop();
        if (IsActive)
            sw.Start();
        // ну и отображение
        StartIdleTimeUpdating();
    }
    async void StartIdleTimeUpdating()
    {
        while (true)
        {
            await Task.Delay(250);
            Target.Text = sw.Elapsed.ToString();
        }
    }
}
<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Тест" Height="250" Width="250">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
        <Run Text="Idle time: "/><Run Name="Target"/>
    </TextBlock>
</Window>

Результат:

READ ALSO
ASP.NET настройка Ninject

ASP.NET настройка Ninject

Проблема с настройкой DI контейнера NinjectИмеется автоматически сгенерированный класс NinjectWebCommon

406
Asp.Net Web Api2 + SignalR

Asp.Net Web Api2 + SignalR

Подскажите плиз

387
Клиент серверный диалог

Клиент серверный диалог

Вопрос по TcpClientНапример, один TcpClient отправляет какое то сообщение другому

328
Не меняется цвет текста в строке DataGridView

Не меняется цвет текста в строке DataGridView

Пытаюсь поменять цвет текст в строке, но при загрузке формы строка моргнет нужным цветом и опять станет цвет по умолчанию

476