Как узнать, активно моё приложение или нет?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Как узнать, активно моё приложение или нет?

Сообщение -=alp=- » 21.03.2004 (Вс) 15:41

Как узнать, активно моё приложение или нет?

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 22.03.2004 (Пн) 0:22

По таймеру, ищеш активное окно, если заголовок товой- знач твое!
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 28.03.2004 (Вс) 16:49

Не нравится нифига мне эта идея с таймером... Да и сравнение заголовков ни к чему.
Но вот что-то не нашёл я в мессаджах подходящего. :(
Код: Выделить всё
Private Declare Function GetActiveWindow Lib "user32" () As Long

Private Sub Timer1_Timer()
    If GetActiveWindow <> Me.hWnd Then
        Me.Caption = "Эх..."
    Else
        Me.Caption = "Ага!.."
    End If
End Sub

Всё таки через сабклассинг надо.
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.03.2004 (Пн) 8:17

Дык WM_KILLFOCUS же...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 29.03.2004 (Пн) 12:30

2 GSerg
Не пойдёт. Положи на форму любой объект, в который возможен ввод с клавиатуры и проверь kill_focus.
KILL_FOCUS генерируется тогда, когда фокус ввода с _клавиатуры_ меняется.
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.03.2004 (Пн) 13:48

When one window is deactivated and another activated, Windows sends the WM_ACTIVATE message first to the window being deactivated, then to the window being activated. The low-order word of the wParam parameter is zero if the window is being deactivated and nonzero if it is being activated. When the default window procedure receives the WM_ACTIVATE message, it sets the keyboard focus to the active window.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 29.03.2004 (Пн) 14:15

GSerg
О! Це дiло.
И примерчик подоспел. :)
Вложения
FormActiveInactive.zip
Отслеживает состояние формы (активна, неактивна) и меняет caption формы в зависимости от состояния.
(4.82 Кб) Скачиваний: 129
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 01.04.2004 (Чт) 23:43

А что, никому типа не надо? А зачем вопрос был?
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 02.04.2004 (Пт) 0:47

Более того: мне вообще непонятно, где растет такая трава, после которой такие задачи в голову приходят...

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 02.04.2004 (Пт) 3:58

Мало-ли кому что нужно...
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 67

    TopList