Закрытие апплета из bat файла.
Как убить процесс понятно. А вот как убить апплет? При этом не убить rundll32, на котором еще может что-то висеть? Например, как принудительно закрыть окно апплета "Установка и удаление программ" appwiz.cpl ?.
|
Kardinalli, как вы уже выяснили, аплет не имеет собственного процесса,
|
Vadikan
По сути, мы имеем несколько копий rundll32.exe, нужно выяснить какая копия принадлежит апплету и убить именно процесс. Вот как это выяснить... :unsure: Можно без проблем закрыть окно из vbs, но очень не хотелось бы плодить несколько разных файлов для одной, по сути, работы... |
|
…или посредством Wmic.exe:
Код:
@echo y|Wmic.exe Process WHERE (Name='Rundll32.exe' AND CommandLine LIKE '%Rundll32.exe%shell32.dll,Control_RunDLL%appwiz.cpl%Установка и удаление программ%') CALL Terminate>nul |
Цитата:
Iska, спасибо за ответ! Код на открытие работает без проблем, а вот закрыть окно не получается. В коде нет ошибок? И, кстати, откуда этот вариант, никогда не встречал ничего подобного! |
Kardinalli, или так:
Код:
TaskKill /FI "MODULES eq appwiz.cpl" |
Petya V4sechkin, потрясающе!!! Огроменное спасибо, блин, век живи, век учись. А таких профи как в этой ветке, вообще, слов нет... :up Спасибо друзья!
А про wmic никогда не интересовался - а зря, посмотрел, зело прелюбопытная вещь! Petya V4sechkin, а откуда такой вариант интересный? |
Kardinalli, я просто посмотрел опции TaskKill.
Только надо иметь в виду, что в XP Home Edition команда TaskKill отсутствует. WMIC у вас не получилось, потому что в батнике символы % надо дублировать (для экранирования): Код:
WMIC Process Where "Name = 'rundll32.exe' And CommandLine Like '%%appwiz.cpl%%'" Call Terminate |
Цитата:
И за правильный вариант с использованием wmic спасибо! Наверное его и использую, раз в home edition могут быть проблемы с taskkill. Wmic же есть начиная от WinXP и выше? |
Цитата:
|
Petya V4sechkin, ну, будем рассчитывать на среднестатистического юзера, а не "рукотворцев". Еще раз спасибо все за ветку, много чего любопытного узнал. Хотя еще в 90-х неплохо и немало писал на ассемблере, а ведь поди ж ты, как окна быстро от фундаментальных вещей отучают, жесть... :blush:
|
Petya V4sechkin, спасибо, не знал этого про taskkill :)
|
интересно, почему при использовании пары команд:
cmd /c taskkill /f /im explorer.exe && start explorer.exe просто перезапускается оболочка, а при использовании WMIC Process Where "Name = 'explorer.exe'" Call Terminate && start explorer.exe при запуске эксплорера открывается папка "Мои документы"? |
Время: 08:46. |
Время: 08:46.
© OSzone.net 2001-