CMD/BAT - [решено] Taskkill \fi

Аватара пользователя
Flooper

CMD/BAT - [решено] Taskkill \fi

Сообщение Flooper »

Здраствуйте , помогите советом при закрытии программы просмотра изображений и факсов через cmd, вот как я себе это представлял

taskkill /fi "windowtitle eq Имя.jpg - программа просмотра изображений и факсов"

В ответ получил

Информация: Задачи, отвечающие заданным критериям, отсутствуют.

Хотя при выполнении действия с txt файлом срабатывает.

в чём ошибка, поправте.
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение amel27 »

Цитата Flooper:



при выполнении действия с txt файлом срабатывает.

в чём ошибка
CMD/BAT - [решено] Taskkill \fi




ошибки нет, TaskKill убивает процесс по имени окна, а не само окно... В случае же с просмотром картинки отдельного процесса не создаётся - окно открывается в процессе explorer.exe. Вариант решения задачи при помощи
CMDOW
(заголовок окна должен быть передан в WIN-кодировке):



Код:

Код: Выделить всё

@for /f "tokens=1-2,8*" %%a in ('cmdow /f') do @if "%%b"=="1" (if /i "%%c"=="explorer" (
  if "%%d"=="Имя.jpg - Программа просмотра изображений и факсов" cmdow %%a /cls
))
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение amel27 »

Что-то у меня антивирус ругается на cmdow - SecurityRisk. Безопасно использование проги?
Аватара пользователя
Flooper

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение Flooper »

Цитата amel27:



@for /f "tokens=1-2,8*" %%a in ('cmdow /f') do @if "%%b"=="1" (if /i "%%c"=="explorer" (

if "%%d"=="Имя.jpg - Программа просмотра изображений и факсов" cmdow %%a /cls

))
CMD/BAT - [решено] Taskkill \fi




Я вот из этого сделал Batник, уложил в папку с программой, но что-то ни чего не закрывает,
Аватара пользователя
Flooper

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение Flooper »

Цитата Flooper:



Безопасно использование проги?
CMD/BAT - [решено] Taskkill \fi




А Вам amel27, дал ссылку на офсайт в своём посте


Цитата amel27:



Вариант решения задачи при помощи
CMDOW
CMD/BAT - [решено] Taskkill \fi




Если сомневаетесь - наберите в командной строке : cmdow /?



Код:

Код: Выделить всё

CMDOW [Version 1.4.3] Win32 Commandline Window Utility for NT4/2000/XP.
(C) Copyright 2001-2004 Ritchie Lawrence, http://www.commandline.co.uk.
  CMDOW [window | /T] [/b] [/F] [/P]
  CMDOW /TH | /TV | /MA | /CW | /UW | /AT | /FS | /WM
  CMDOW window {[/ACT] [/INA] [/ENA] [/DIS] [/VIS] [/HID] [/MIN] [/MAX] [/RES]
        [/TOP] [/NOT] [/REN caption] [/MOV left top] [/SIZ width height] [/CLS]
        [/END]}
  CMDOW /RUN [state] file [args]
  window  List specified window (if omitted, all windows are listed).
  /T      List windows only shown on the taskbar.
  /B      List windows using bare format (no heading information).
  /F      List windows showing full information (don't truncate any fields).
  /P      List windows showing position and size (left, top, width and height).
  /TH     Tile windows horizontally.    /TV     Tile windows vertically.
  /MA     Minimize all windows.         /CW     Cascade windows.
  /UW     Undo tile/minimize/cascade.   /AT     Intelligent [Alt]-[Tab]
  /FS     Switch to full screen mode.   /WM     Switch to window mode.
  /ACT    Activate specified window.    /INA    Inactivate specified window.
  /ENA    Enable specified window.      /DIS    Disable specified window.
  /VIS    Unhide specified window.      /HID    Hide specified window.
  /MIN    Minimize specified window.    /MAX    Maximize specified window.
  /RES    Restore specified window.     /REN    Rename specified window.
  /TOP    Make window always on top.    /NOT    Make window not always on top.
  /MOV    Move specified window.        /SIZ    Resize specified window.
  /CLS    Close specified window.       /END    Kill process linked to window.
  /RUN    Executes or opens specified file using associated application.
  state   Initial show state of window (/MIN, /MAX or /HID). Default is normal.
  args    Optional commandline arguments passed to launched application.
  Specify a window by its caption (case insensitive) or handle in hex format.
  The At symbol '@' may be used to refer to this window. For more help on any
  parameter use CMDOW /? . Eg CMDOW /? /RUN or CMDOW /? window.
Аватара пользователя
shao

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение shao »

Без утилит. На XP работает.



Код:

Код: Выделить всё

@echo off
set "FileName=file.jpg"
wmic process where "commandline like '%%%FileName%%%' and name='rundll32.exe'" call terminate >nul

Есть ограничение, оказывается. Изображение

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

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение SendMessage »

Цитата SendMessage:



@echo off

set "FileName=file.jpg"

wmic process where "commandline like '%%%FileName%%%' and name='rundll32.exe'" call terminate >nul
CMD/BAT - [решено] Taskkill \fi




что-то не срабатывает:




читать дальше »


C:\Documents and Settings\----\Рабочий стол>set "FileName=saac.jpg"



C:\Documents and Settings\----\Рабочий стол>wmic process where "commandline lik

e '%saac.jpg%' and name='rundll32.exe'" call terminate 1>nul



C:\Documents and Settings\----\Рабочий стол>pause




Цитата SendMessage:



Если открыть нужный файл, не закрывая программу просмотра после предыдущего файла, то не срабатывает.
CMD/BAT - [решено] Taskkill \fi




Т.е. она должна выгрузится из процесса?
Аватара пользователя
Flooper

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение Flooper »

Цитата shao:



cmdow /?
CMD/BAT - [решено] Taskkill \fi




Спасибо, работает.
Аватара пользователя
Flooper

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение Flooper »

Цитата SendMessage:



Без утилит. На XP работает…
CMD/BAT - [решено] Taskkill \fi




У меня тоже не срабатывает на XP SP3, ибо, как
CMD/BAT - [решено] Taskkill \fi
, для «Программа просмотра изображений и факсов» отдельного процесса не порождается. Вызываю просмотр контекстным меню из Проводника — окно принадлежит ему, смотрю из Far Manager'а — окно принадлежит его процессу, для Total Commander — аналогично.



Опытным путём установил следующее:


читать дальше »


Отдельный процесс «rundll32.exe» посредством вызова функции из библиотеки «shimgvw.dll» порождается в случае, если, например, отсутствует раздел:



Код:

Код: Выделить всё

[HKEY_CLASSES_ROOT\jpegfile\shell\open\DropTarget]
"Clsid"="{E84FDA7C-1D6A-45F6-B725-CB260C236066}"

Ниже привожу весь наличествующий у меня раздел «shell\open» по умолчанию:


читать дальше »




Код:

Код: Выделить всё

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\jpegfile\shell\open]
"MuiVerb"="@shimgvw.dll,-550"
[HKEY_CLASSES_ROOT\jpegfile\shell\open\command]
@="rundll32.exe C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1"
[HKEY_CLASSES_ROOT\jpegfile\shell\open\DropTarget]
"Clsid"="{E84FDA7C-1D6A-45F6-B725-CB260C236066}"





и раздел «CLSID\{e84fda7c-1d6a-45f6-b725-cb260c236066}»:


читать дальше »




Код:

Код: Выделить всё

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{e84fda7c-1d6a-45f6-b725-cb260c236066}]
@="Shell Image Verbs"
[HKEY_CLASSES_ROOT\CLSID\{e84fda7c-1d6a-45f6-b725-cb260c236066}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
  69,00,6d,00,67,00,76,00,77,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{e84fda7c-1d6a-45f6-b725-cb260c236066}\shellex]
[HKEY_CLASSES_ROOT\CLSID\{e84fda7c-1d6a-45f6-b725-cb260c236066}\shellex\MayChangeDefaultMenu]
@=""
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Taskkill \fi

Сообщение Iska »

Цитата Iska:



Ниже привожу весь наличествующий у меня раздел «shell\open» по умолчанию:
CMD/BAT - [решено] Taskkill \fi





Цитата Iska:



и раздел «CLSID\{e84fda7c-1d6a-45f6-b725-cb260c236066}»:
CMD/BAT - [решено] Taskkill \fi




Аналогично. Никаких различий нет.

У меня срабатывает. При открытии создается процесс rundll32.exe. И из контекстного меню.



upd. При попытке открыть через Проводник - отдельный процесс не создался. Из ТС и контекстного меню (попробовал в нескольких программах) - создается.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»