Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual Basic
Перезагрузить страницу Как найти запущенное приложение по имени файла и закрыть?
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
vg vg вне форума
Member
 
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 18.03.2004
По умолчанию Как найти запущенное приложение по имени файла и закрыть? - 18.10.2005, 12:23

Как найти запущенное приложение по имени ехе-файла и корректно закрыть его из VB?
Как-то можно управлять окнами, но как не знаю.
Помогите разобраться, плз
Ответить с цитированием
  (#2 (permalink)) Старый
Olive77 Olive77 вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.10.2005
По умолчанию 18.10.2005, 12:40

Сам не делал, но возможно GetWindow поможет.
Ответить с цитированием
  (#3 (permalink)) Старый
Olive77 Olive77 вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.10.2005
По умолчанию 18.10.2005, 12:46

_http://trixar.com/~makai/findclose.htm
Ответить с цитированием
  (#4 (permalink)) Старый
Фокс Фокс вне форума
Member
 
Сообщений: 54
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.05.2005
По умолчанию 19.10.2005, 01:45

Ну например если у тебя есть хендл окна то можно послать ему сообщение, которое будет обработано окном так, как будто это сделал пользователь:

Код:
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
hwnd - хендл окна, програмы и т.п;
wMsg - одна и сотни констант, в нашем случае WM_CLOSE = &H10
wParam и lParam - значение этих параметров зависит от самого сообщения, в нашем случае оба параметра должны быть равны &0.
Ответить с цитированием
  (#5 (permalink)) Старый
vg vg вне форума
Member
 
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 18.03.2004
По умолчанию 20.10.2005, 11:40

>Ну например если у тебя есть хендл окна то можно послать ему сообщение, которое будет обработано окном так, как будто это сделал пользователь:

Спасибо.
В том и штука, где взять хендл, и как его потом использовать, что бы приложение закрылось корректно, т.к. оно по ходу дела открывает еще несколько своих окон. Когда в ручную переходишь к программе и нажимешь красный крести - закрывается нормально со всеми окнами, а программно - не получается. Не догоняю чего-то...
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Фокс Фокс вне форума
Member
 
Сообщений: 54
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.05.2005
По умолчанию 27.10.2005, 15:55

Для получения хендела окна можно использовать:

Код:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
lpClassName - Имя класса окна мы его не знаем, поэтому ставим - 0&
lpWindowName - Заголовок окна, например "Мои документы"

Функуия ищет в списке окон окно по заданым критериям

IHwnd = FindWindow(0&,"Мои документы")

Если окно не найдено, то функция вернет ноль...

PS. SendMessage закрывает проги корректно, равносильно нажатию на "крестик"...
Ответить с цитированием
  (#7 (permalink)) Старый
FlamerZ FlamerZ вне форума
Member
 
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.02.2006
По умолчанию 11.02.2006, 11:34

есть такая прога от VKE называеться WindowFinder. Исходники на c++ но с апи все понятно.
ftp://ftp.miteeno.ru/Incoming/Soft/wf.rar
Доступ к серверу АНОНИМНЫЙ, логин anonymous, пароль – любой адрес email.
[/u]
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Самопроизвольное искажение имени файла Odin_KG Visual C++ 4 15.11.2008 21:13
Как закрыть работающее приложение Pchelka Delphi 4 19.06.2008 21:59
Не открывается документ с пробелом в имени файла kminas Visual Basic 9 04.04.2008 01:18
Как из класса C*View закрыть приложение Leonidos_ Вопросы начинающих программистов 1 17.02.2007 04:18
Параметры в полном имени файла Shturmovik Delphi 10 06.02.2007 15:07
Написать сервис который будет просто проверять каждые 5 секунд запущенное приложение kasyava C++ Builder 6 22.01.2007 03:26
Передача имени файла как параметра для EXE-шн. Voldyr Visual Basic 2 01.09.2006 18:36
Как добавить лист по имени файла. NJohn Visual Basic 7 28.06.2006 15:27
Получение имени файла из драйвера фильтра Kirston Железо. Написание драйверов 0 11.06.2006 01:18
Как отбросить разрешение в имени файла Izum C++ на Unix 7 21.12.2005 20:37
Как проверить содержимое char для имени файла DENIS451 C++ Builder 2 29.12.2004 14:33
Как узнать какое приложение активно и закрыть его Алексеев Николай Delphi 6 13.10.2004 17:42



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов