Счетчик новых документов Word начинается при запуске первого файла winword.exe и заканчивается при выходе из последнего файла winword.exe.
Я думаю, что вы, скорее всего, видите другое приложение в системе, которое использует Word для какой-то функциональности и поддерживает работу winword.exe. Обычное использование для этого - использовать Word для проверки правописания. Внизу ответа я привел пример, который может попробовать каждый, но у Microsoft есть собственный пример в C # на MSDN (поиск «Как: использовать COM-взаимодействие для проверки орфографии с помощью Word (Руководство по программированию в C #)», так как я у меня закончились ссылки на моем уровне репутации).
Чтобы убедиться, что это действительно является причиной проблемы, в следующий раз, когда вы увидите, что это происходит, закройте все видимые окна Word, откройте диспетчер задач Windows, выберите вкладку Details и посмотрите, запущен ли WINWORD.EXE.
Поскольку этот тип доступа к Word осуществляется через элемент управления COM, и, следовательно, родительский процесс для этого WINWORD.EXE будет просто svchost.exe. Насколько я знаю, нет способа увидеть то, что называется контролем после факта.
Чтобы понять это, предположим, что WINWORD.EXE запущен, выберите его и выберите «Завершить задачу» в диспетчере задач. Если WINWORD.EXE перезапускается и снова запускается через несколько секунд, см. Второй вариант ниже, чтобы узнать, как войти в систему и, как мы надеемся, быстро выяснить причину ошибки приложения.
Предполагая, что WINWORD.EXE больше не работает, первым способом выяснить это было бы просто оставить «Диспетчер задач» запущенным, выбрать «Параметры», «Всегда сверху», а затем оставить вкладку «Подробности» включенной, изменить размер или перейти на другой экран с W-именем. процессы видны. Затем вы можете перейти к обычному рабочему процессу, а при запуске новых приложений или выполнении задач следить за тем, запускается ли Word.
Второй вариант - использовать монитор процессов Windows Sysinternals с сайта Microsoft TechNet. Вам нужно будет выполнить поиск, если у вас еще нет этого инструмента, так как в ответе не осталось ссылок. С помощью этого инструмента вы можете определить, когда и с чего запускается элемент управления Word COM. После того как вы загрузили, запустили инструмент и приняли лицензионное соглашение, выберите «Фильтр», «Фильтр» (или просто нажмите Ctrl-L), переключите первое поле на «Путь», а затем второе на «Содержит», вставьте: {000209FF-0000-0000-C000-000000000046}
в текстовое поле и убедитесь, что в нем указано, что необходимо создать фильтр «Включить». Обратите внимание, что GUID, который мы ищем, известен как Word, но вы можете легко найти его самостоятельно, выполнив поиск по Word.Приложение в реестре.
Снимок экрана: Process Monitor делает фильтр для поиска элемента управления Word COM:
Выберите Добавить, а затем ОК.
Монитор процессов теперь будет пустым. Если в нижней строке состояния события не учитываются (текущий фильтр исключает ...), убедитесь, что «Файл», «Захват событий» отмечен.
Если вам удалось инициировать перезапуск WINWORD.EXE, когда вы завершили его процесс в диспетчере задач, сделайте это снова, чтобы WINWORD.EXE перезапустился и, как мы надеемся, обнаружил процесс при ошибке. Если это не так, вы можете перезапустить Windows и перезапустить Process Monitor, чтобы повысить вероятность его захвата. Затем приступайте к своим обычным задачам, периодически проверяя, зафиксировал ли Монитор процессов что-либо. Когда это наконец произойдет, поле «Имя процесса» должно выявить виновника. Если это не очевидно, дважды щелкните одну из записей и выберите вкладку «Процесс», чтобы увидеть все детали.
Кроме того, если вам в конечном итоге потребуется запустить Process Monitor в течение длительного периода времени, вы можете периодически проверять его и очищать захват (Ctrl-X), чтобы предотвратить исчерпание памяти файла подкачки (или вы можете использовать другой файл резервной копии, но это уже другая тема).
Чтобы продемонстрировать и проблему, и то, как функционирует Process Monitor, вы можете смоделировать поведение с помощью некоторого простого VBScript. Для этого откройте Блокнот и вставьте следующее:
Set Word = CreateObject("Word.Application")
Word.Visible = False
Set NewDocument = Word.Documents.Add()
Затем сохраните его на рабочем столе как test.vbs
. Переключитесь на рабочий стол и дважды щелкните test.vbs, чтобы выполнить VBScript. Вернувшись в Process Monitor, вы увидите, что имя процесса - WScript.exe (механизм VBScript по умолчанию), и именно оно отвечает за запуск Word. Снимок экрана: Process Monitor, показывающий WScript.exe, запускающий элемент управления Word:
Вы также можете запустить Word из меню Пуск, и вы должны быть в Document2. Вам нужно будет вручную завершить процесс WINWORD.EXE в диспетчере задач, иначе он продолжит работу.