2010-07-20 3 views
3

Я работаю над простой программой замены alt-tab. Он реализован в C# как скрытое окно WPF, которое выводится на передний план с помощью горячей клавиши глобальной клавиатуры.Стратегии сохранения замены .NET-Alt-Tab после длительного периода неиспользования?

По большей части это отлично работает, и окно приложения появляется сразу после нажатия горячей клавиши. Однако, если прошло много времени с момента активации пользователем окна, он может медленно «вращаться» и отображать 3-5 секунд. Я предполагаю, что это имеет какое-то отношение к памяти приложения подкачки Windows на диск.

Есть ли хорошие стратегии для поддержания реакции приложения после длительных периодов бездействия?

(Так как это с открытым исходным кодом, вы можете посмотреть на full code, если это поможет.)

+0

Если вы запустите приложение с более высоким приоритетом (просто изменив его в taskmgr), это не приведет к поведению? Я не помню точно, считает ли процесс и/или приоритет потока виртуальной машиной для подкачки, но я думаю, что это (так как предположительно, добавленный латентный хит менее переносим для этих процессов) –

+0

Это интересная идея, и я попробую, но я заметил, что другие «всегда доступные» программы, такие как Slickrun и Winsplit Revolution, выполняются с приоритетом обычного потока. –

+0

Я думаю, может быть, другой процесс - как сервис или другой исполняемый файл, который запускается при запуске, - и периодически взаимодействует с приложением замены alt-tab, чтобы он не был заменен. –

ответ

1

Почему вы не просто использовать таймер в вашем коде, который стреляет один раз в минуту, и в этом обработчике тиков таймера , выполните некоторый код. Это должно держать ваш процесс «активным».

Смежные вопросы