Можно ли после запуска моей проги вернуть активность окна ..

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Можно ли после запуска моей проги вернуть активность окна ..

Сообщение Flo » 15.06.2004 (Вт) 16:15

Можно ли после запуска моей проги вернуть активность окна на то окно, которое было активным до этого самого запуска? :?
Если можно, то не подскажете ли как? Вот такой вопрос :?:

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 15.06.2004 (Вт) 16:50

Новое окно стало TopWindow, а искомое неактивно.
Здесь ключевое слово "Z order", посмотри MSDN в каком порядке вызвать следующие функции:
GetTopWindow
GetNextWindow
BringWindowToTop.

Этого должно хватить. 8)

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 16.06.2004 (Ср) 10:49

А что это за функции? Вроде как API, но GetTopWindow и GetNextWindow я не нашла :shock:
И откуда их вызывать? Из Form_Load? Т.е. сначаала узнать какое окно было активным до появления моего, а потом эту активность туда вернуть? :roll:

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 16.06.2004 (Ср) 12:19

Код: Выделить всё
Private Declare Function GetTopWindow Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function GetNextWindow Lib "user32.dll" Alias "GetWindow" (ByVal hwnd As Long, ByVal wFlag As Long) As Long
Private Declare Function BringWindowToTop Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Const GW_HWNDNEXT As Long = 2
Вроде это всё, что тебе понадобится :roll:
Нет меня больше

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 16.06.2004 (Ср) 12:31

А я воспользовалась этим
Код: Выделить всё
Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
Declare Function GetForegroundWindow Lib "user32" () As Long

При запуске запоминаю GetForegroundWindow hwnd, а потом ставлю его обратно BringWindowToTop.

Это правильно или тут есть что-то не то?
Откровенно говоря, это мое первое самостоятельное общение с API, так что вынесите вердикт, будьте так добры :roll:

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 16.06.2004 (Ср) 12:41

Да, можно и так!
Нет меня больше

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 16.06.2004 (Ср) 13:09

Уря-я-я-я! :wink:


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList