Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Закрытие апплета из bat файла.

Ответить
Настройки темы
CMD/BAT - [решено] Закрытие апплета из bat файла.

Новый участник


Сообщения: 33
Благодарности: 0


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Как убить процесс понятно. А вот как убить апплет? При этом не убить rundll32, на котором еще может что-то висеть? Например, как принудительно закрыть окно апплета "Установка и удаление программ" appwiz.cpl ?.

Отправлено: 12:34, 23-05-2009

 

(*.*)


Сообщения: 36494
Благодарности: 6675

Профиль | Сайт | Отправить PM | Цитировать


Kardinalli, как вы уже выяснили, аплет не имеет собственного процесса, поэтому невозможно его убить, не затронув другие процессы. Возможно, нужно смотреть в сторону WSH, либо AutoIt в соседнем форуме - это будет проще, наверное.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 12:54, 23-05-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Vadikan
По сути, мы имеем несколько копий rundll32.exe, нужно выяснить какая копия принадлежит апплету и убить именно процесс. Вот как это выяснить...
Можно без проблем закрыть окно из vbs, но очень не хотелось бы плодить несколько разных файлов для одной, по сути, работы...

Отправлено: 22:22, 23-05-2009 | #3



Moderator


Сообщения: 53183
Благодарности: 15433

Профиль | Отправить PM | Цитировать


Kardinalli, или с помощью NirCmd:
Код: Выделить весь код
nircmd.exe win close title "Установка и удаление программ"

Отправлено: 10:34, 24-05-2009 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


…или посредством 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
читать дальше »

Командная строка, которую использует «explorer.exe» для запуска апплета «Установка и удаление программ», может выглядеть при этом, например, так:
Код: Выделить весь код
"C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\WINDOWS\system32\appwiz.cpl",Установка и удаление программ
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:30, 24-05-2009 | #5


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата Petya V4sechkin:
Kardinalli, или с помощью NirCmd: »
Спасибо, мне этот вариант уже предлагали, но не хочется ради одной задачи по деинсталляции задействовать несколько разношерстных файлов.


Iska, спасибо за ответ! Код на открытие работает без проблем, а вот закрыть окно не получается. В коде нет ошибок? И, кстати, откуда этот вариант, никогда не встречал ничего подобного!

Отправлено: 12:59, 24-05-2009 | #6



Moderator


Сообщения: 53183
Благодарности: 15433

Профиль | Отправить PM | Цитировать


Kardinalli, или так:
Код: Выделить весь код
TaskKill /FI "MODULES eq appwiz.cpl"
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:11, 24-05-2009 | #7


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin, потрясающе!!! Огроменное спасибо, блин, век живи, век учись. А таких профи как в этой ветке, вообще, слов нет... Спасибо друзья!
А про wmic никогда не интересовался - а зря, посмотрел, зело прелюбопытная вещь!
Petya V4sechkin, а откуда такой вариант интересный?

Отправлено: 13:14, 24-05-2009 | #8



Moderator


Сообщения: 53183
Благодарности: 15433

Профиль | Отправить PM | Цитировать


Kardinalli, я просто посмотрел опции TaskKill.
Только надо иметь в виду, что в XP Home Edition команда TaskKill отсутствует.

WMIC у вас не получилось, потому что в батнике символы % надо дублировать (для экранирования):
Код: Выделить весь код
WMIC Process Where "Name = 'rundll32.exe' And CommandLine Like '%%appwiz.cpl%%'" Call Terminate
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:30, 24-05-2009 | #9


Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата Petya V4sechkin:
я просто посмотрел опции TaskKill »
Да я вроде тоже все глаза проглядел, но толку то...
И за правильный вариант с использованием wmic спасибо! Наверное его и использую, раз в home edition могут быть проблемы с taskkill. Wmic же есть начиная от WinXP и выше?

Отправлено: 13:37, 24-05-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Закрытие апплета из bat файла.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] выключение ПК из bat-файла en_route Программное обеспечение Windows 4 14-06-2019 01:00
CMD/BAT - [решено] Подключение к ftp из bat-файла Николя Скриптовые языки администрирования Windows 27 03-04-2017 06:07
[решено] Помогите с написанием *.bat файла. systeman Хочу все знать 14 02-07-2015 15:37
[решено] Запуск bat файла GuseV Microsoft Windows NT/2000/2003 6 07-11-2008 12:28
CMD/BAT - [решено] скрытие окна BAT файла rivera Скриптовые языки администрирования Windows 12 14-05-2007 14:59




 
Переход