Библиотека разработок

Документооборот 61
Наука/образование 21
Бухгалтерский учет. Финансы 31
Обработка и хранение данных 33
Решения для бизнеса 48
Игры и развлечения, анализ и тестирование 5
Домашние дела 4
Культура, спорт, здоровье 5
Инструменты для разработчика 42

Конкурс

Правила участия
Победители
Тестовая лаборатория

Разработчикам

Форум
Статьи
Советы
Руслан Хакимов

MacroViewer – Диспетчер задач (Microsoft Word)

Разработка рекомендована к использованию экспертами журнала PC Magazine/RE

14.11.06

PC Magazine: It works!

Диспетчер задач. Позволяет получить список запущенных процессов и управлять ими.


Исходный код: не доступен
Способ распространения: shareware

СкачатьMacroViewer_OE.zip 212,3 КБ

Журнал PC Magazine/REРейтинг разработки: 5

PC Magazine/RE:

Интересная разработка, применение которой выходит далеко за пределы возможностей Microsoft Word. Ее можно отнести к разряду системных утилит с автоматической гарантией безопасности выполняемых команд. Последнее реализуется за счет использования только встроенных в ОС механизмов и отсутствия низкоуровневых функций собственной разработки. Давайте рассмотрим по порядку, как работает данная утилита, что она может и где это может пригодиться.

Как работает?

Среди возможностей языка VBA есть объектное семейство Tasks. На основе его инструментов пользователь получает в свое распоряжение список исполняемых в системе процессов. Аналогичный список также можно получить в Диспетчере задач (Task Manager) Windows. Разница состоит в том, что в Task Manager показывается имя файла запущенного процесса, а в данной разработке – его описательное название. Помимо этого, здесь предоставлена возможность узнать координаты и размеры ассоциированного с выбранным процессом окна (если таковое имеется).

Зачем это нужно?

Во-первых, это пригодится для решения тех же задач, для которых используется Windows Task Manager – прервать исполнение конкретного процесса, активизировать конкретный процесс (сделать его окно активным) и пр. Но в отличие от Task Manager задача решается через VBA, т.е., так сказать, в "защищенном" для ОС режиме. Более того, данная разработка позволяет вызвать из VBA-оболочки ряд системных команд, что может пригодиться на машинах, где прямое обращение к соответствующим командам блокируется.

Во-вторых, программа корректно работает с механизмом восстановления процессов, присутствие которых в памяти отслеживается на уровне ОС (например, Control Toolbox). Известно, что Windows периодически выполняет опрос, и если обнаруживается, что в памяти не работают критичные процессы, то ОС автоматически восстанавливает (запускает) их. Данная разработка "не конфликтует" с системой в этом отношении. Также она не позволяет удалить родительский (parent) процесс, если в памяти еще остаются запущенными им child-процессы.

Следующая полезная функция, реализованная в данной разработке – возможность узнать координаты расположения и размеры окна, открытого для конкретного процесса. Такой функции нет в Windows, хотя необходимость в этой информации иногда возникает. Вспомните, вам знакома ситуация, когда окно прикладной программы можно открыть только на весь экран (максимизировать) или свернуть до кнопки на Панели задач, а перейти в оконный режим не удается – подобная попытка ведет к тому, что вы видите только кнопку на Панели задач, а окна выбранного приложения на экране нет. Названная проблема связана с тем, что Windows иногда "ошибается" в пересчете параметров положения окна на экране и назначает такие значения, что окно оказывается за пределами видимой области экрана. Другими словами, окно становится "невидимым", хотя реально оно существует. Попробуйте исправить такую ситуацию имеющимися в Windows средствами? Единственное, что предлагают обычному пользователю в такой ситуации, – переустановить "неправильно работающее" приложение или еще хуже, Windows.
По сути, данная проблема очень легко решается простыми программными средствами, в том числе VBA. Данная разработка позволяет решать аналогичную задачу также.

Последнее, что еще хочется отметить: данная разработка не требует процедуры инсталляции. Достаточно запустить предлагаемый файл Word, и весь ее набор функций в вашем распоряжении. Более того, Word-файл может находиться удаленно, в локальной сети или в Интернете, а его функции можно использовать на "защищенной" машине, например, в Интернет-кафе.

В ходе тестирования программа работала исправно и никаких ошибок мы не заметили.

Разработка опубликована в следующих разделах:

Инструменты автоматизации для разработчиков

Инструменты для системных администраторов