Закрытие windows

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Закрытие windows

Сообщение neic » 14.02.2005 (Пн) 0:02

Делаю программу скрптовальщик.
Хочу узнать, как закрыть определённое окно программным путём?!

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 14.02.2005 (Пн) 0:04

1) Через FindWindow или FindWindowEx ищем нужное окно
2) DestroyWindow - закрываем его

Ищите по форуму ключевые слова...
Последний раз редактировалось Amed 14.02.2005 (Пн) 0:24, всего редактировалось 1 раз.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.02.2005 (Пн) 0:16

CloseWindow - это сворачивание (минимизация). Надо вызывать DestroyWindow, или проще - послать окну WM_CLOSE
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 14.02.2005 (Пн) 0:22

М-да... Что-то я в последнее время чушь несу :(

Я обычно шлю WM_QUIT, а не WM_CLOSE. Разница есть?

Чтобы окончательно уточнить, добавлю, что шлётся WM_CLOSE (WM_QUIT) с помощью SendMessage (тот же поиск по форуму)...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.02.2005 (Пн) 2:06

Есть. WM_CLOSE закрывает окно, а WM_QUIT убивает поток (включая все его окна).

Слать WM_QUIT по SendMessage - нереально. Имхо ты чего-то путаешь, я сейчас сам попробую...
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.02.2005 (Пн) 2:14

Проверил, окно на посылку ему Send-ом WM_QUIT никак не реагирует. Если уж приспичило слать WM_QUIT, то надо Post-ом...

Amed, я понимаю что ночь понедельника :-)
Но неужели лень потратить минуту на проверку кода, который ты постишь?
Изображение

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 14.02.2005 (Пн) 14:01

Большое спасибо конечно, а можете кусок кода в эту тему написать?

Пример (я так понял)
WM_CLOSE("окно") - и окно "окно" сворачиваеться, так?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.02.2005 (Пн) 14:56

Почти.
Код: Выделить всё
hWnd = FindWindow(vbNullString, "заголовок окна")
CloseWindow hWnd 'окно сворачивается
SendMessage hWnd, WM_CLOSE, 0, 0 'окно закрывается


Нужные объявления вставь сам :-)
Изображение

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 14.02.2005 (Пн) 16:26

tyomitch огромное пасибо!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 164

    TopList