![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать HANDLE окна ;OLE объекта [D6]
fag2000@ok.ru © (2002-03-15 13:12:00)Как узнать HANDLE окна MSWord созданного таким образом:
var
MSWord: Variant;
..
begin
MSWord := CreateOleObject("Word.Application");
MSWord.Visible:=True;
..
end;
digitman (2002-03-15 16:05:00) [1]так, сударь, на то ведь в Ворде есть встроенный макрос-движок (MSWinword VBA), в нем ты можешь реализовать сколь угодно гибкую логику, реализующую требуемую тебе задачу. И, imho, совершенно неразумно для того, о чем ты поведал, городить весь этот "огород" с окнами, хуками и иже с ними) поверь уж))
fag2000@ok.ru (2002-03-15 14:54:00) [2]Следить чтобы пользователь данные правильно вводил ну еще ему немного помогать.(так хочет начальство)
digitman (2002-03-15 14:34:00) [3]Только - по заголовку окна (если имя его класса неизвестно).
И то - найдешь первый встретившийся экз-р Ворда (впрочем, как и при поиске по имени класса окна).
А зачем, собственно, тебе нужно перехватывать keyboard events , адресованные некоему окну, создаваемому Вордом ? Ну, поймал ты нечто интересующее, а дальше-то что делать с этим "добром" планируешь ?
fag2000@ok.ru (2002-03-15 14:21:00) [4]А напрямую никак нельзя?
digitman (2002-03-15 13:53:00) [5]1. запусти spyxx.exe, запусти Word.
2. в дереве, визуализируемом в окне spyxx, найди узел, соответствующий гл.окну Word"а, открой св-ва, узнай класс гл.окна Word"а.
3. В своем приложении для поиска гл.окна Word"а вызывай, например, FindWindow() с параметром - именем класса гл.окна Word"а.
fag2000@ok.ru (2002-03-15 13:28:00) [6]Мне надо отслеживать сообщения от клавиатуры для этого объекта.
Глобальный HOOK я уже написал. Теперь мне надо фильтровать сообщения.
digitman (2002-03-15 13:25:00) [7]а зачем, скажи на милость, тебе этот HANDLE понадобился ?