Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2008, 15:27   #1
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
Смех У меня возникла небольшая проблемка с определением последнего активного окна.

Значит ситуация такова: Моя прога работает в трее. Предположым, пользователь работает с неким окном на котором например два поля редактирования Edit і одно memo. Пользователь ввел данные в один из компонентов, затем в другой и.т.д, и затем щелкнув на иконку моей проги в трее. Как мен теперь узнать handle того компонента в который пользователь ввел данные последним.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 23.05.2008, 15:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну в принципе если окно то еще осталось то можно получить его хендл (GetActiveWindow)
Потом получить хендл того эдита (FindWindow)
или попробовать GetDlgItem'ом получить из него данные.
I'm learning to live...

Последний раз редактировалось Stilet; 23.05.2008 в 15:59.
Stilet вне форума Ответить с цитированием
Старый 23.05.2008, 16:28   #3
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
Хорошо

Да. Но проблема в том, что после того как щелкнуть на иконке в трее, активным становится Таск бар. И вызов функции GetActiveWindow даст нам хендл именно его. А мне нужно хендл окна которое было активно перед ним. Вот тут то и проблема. Уже два дня не могу найти решения.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 23.05.2008, 16:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
активным становится Таск бар
Ну да эт я маханул лишку. (я потому и подредактировал свой пост)
Ну тогда FindWindowEx тебе в помошь.
Или всетки GetDlgItem попробуй, а вдруг )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.05.2008, 16:50   #5
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Cформулирую проблему почетче. Пользователь работает с неизвестным мне окном. Ето может бить Internet Explorer, Блоктот, или же Opera, вобщем любая прога. Пользователь работает с ней а за тем щелкает на иконку в трее. Как узнать хотябы хендл окна с которым пользователь работал до нажатия на иконку в трее.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 23.05.2008, 16:58   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

hoza_syl, SetWindowsHookEx, WH_CALLWNDPROC, WM_SETFOCUS, WM_KILLFOCUS и т.д. - и в поиск по форуму.
B_N вне форума Ответить с цитированием
Старый 23.05.2008, 17:03   #7
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Ти предлагаеш регистрировать ловушку собощений windows, и обрабатывать WM_setForcus и WM_KILLFOCUS? Это может подействувать. Спасибо, що попробую.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с определением внешнего ключа! veter_s_morya SQL, базы данных 1 26.06.2008 18:37
Могут ли обрабатывать нажатия клавиш окна, отличные от активного? Gorlum Общие вопросы Delphi 14 27.10.2007 17:28
Помогите с определением названия диска londoner Общие вопросы Delphi 2 15.02.2007 17:30