Re[2]: Передача нажатия клавиш в нективное окно.
От: Аноним  
Дата: 13.02.04 12:29
Оценка:
Здравствуйте, sokolprog, Вы писали:

S>А блокноту не один фиг, какую клавишу ты ему посылаешь!?

S>Сообщение нужно посылать текстовому полю блокнота!
S>Для вставки текста в чужой TextBox, можно вызывать, например EM_REPLACESEL, WM_SETTEXT:

S>Пример: текст будет вставлен туда, где находится каретка

S>::SendMessage(hwndEdit, EM_REPLACESEL, /*Undo?*/FALSE,(LPARAM)"MyText");

Понял. Спасибо.

Очень не хотел спрашивать, но действительно не понимаю почему не работает этот код для поиска контрола в котором находится каретка:

Var
wh: HWND;
TInfo: TGUITHREADINFO;
PID: Integer;

Begin
wh := FindWindow('Notepad', nil); { Окно находит }
GetWindowThreadProcessId(wh, @PID); { PID процесса получает }
GetGUIThreadInfo(PID, TInfo); { Вот тут какая-то муть, структура TInfo заполняется "не правильно" }

SendMessage(TInfo.hwndCaret, WM_SETTEXT, 0, Integer(PChar('Test!'))){ => текст никуда не пишется : ( }
End;

Или я выбрал не правильный способ для узнавания хендла контрола с кареткой?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.