Недавно мне удалось достать старый компакт-диск Starcraft, который выкинул мой друг, и, всегда любя играть в Starcraft, установил его на свой компьютер с Windows 7, обновил его последними патчами и попытался запустить. У него были некоторые проблемы, и он несколько раз падал, но я нашел решение, в котором просто закройте все процессы обозревателя, запустите starcraft и снова запустите explorer. Поэтому я написал небольшой пакетный файл:
@ECHO OFF
REM RunStartcraft.bat
REM Closes Explorer, runs StarCraft then starts Explorer again
title Run Starcraft
echo Stopping Explorer...
taskkill /f /im explorer.exe
echo Running Starcraft...
StarCraft.exe
echo Restarting Explorer...
start explorer.exe
и это работает.
Однако что мне не нравится в этом пакетном файле, так это в том, что он убивает все процессы Explorer, а не закрывает их (включая базовый процесс Explorer). Можно ли аккуратно закрыть Проводник (например, щелкнув правой кнопкой мыши по меню «Пуск» и щелкнув «Выход из Проводника»), не прерывая процессы в пакетном файле? Или не имеет значения, уничтожу ли я все процессы проводника?
РЕДАКТИРОВАТЬ: я не пытаюсь получить список запущенных процессов Explorer, но мне интересно, можно ли изящно выйти из процесса (ов) Explorer без необходимости внезапно завершить / завершить процесс с помощью taskkill.