![]() |
PostMessage в соседнее окно.
Необходимо с помощью PostMessage отправить сочетание клавиш из переменной.
тоесть Postmessage(h,WM_KEYDOWN,82,0); Postmessage(h,WM_KEYDOWN,13,0); В данным примере отправляются буквы rs Как сделать чтобы отправляло команду например из edit1? тоесть нужно в едит ввести буквы и чтобы эти буквы передались приложению (h) |
Вот так и лучше через SendMessage
SendMessage(HWND, WM_SETTEXT, 0, (LPARAM)Edit1->Text.c_str()); Но еси не катит то место SendMessage пиши Пост Мессадж Для тебя так PostMessage(h,WM_KEYDOWN,(LPARAM)StrToInt(Edit1->Text),0); Ну еси буквы над мне подумать |
Цитата:
|
Ildon мда... 090808 если не понял Ildon тебе показывает вариант когда тебе известен HWND элемента EDIT окна в которое ты хочешь записать текст
"Edit1->Text.c_str()" указывает на то что Ildon кодит в не кошерном С++ дибилдере. Если тебе нужно послать сообщение WM_KEYDOWN другому окну: 1. Нужно найти его хендл (FindWinodow и тд) 2. Тебе нужно прочитать текст из твоего edit-а (GetWindowTextA, GetDlgItemTextA) 3. Пощитай разницу между кодом клавиши и ASCII кодом типа r= 82 0x72 (а может есть какая таблица я хз) в общем тебе нужно знать какая буква какой код имеет на клаве. 4. В цикле отправляй сообщения другому окну // GetWindowText насколько я помню возвращает длину записанного буфера |
Цитата:
|
Что бы отправить сообщение в поле Edit другого окна надо:
Найти само окно: Код:
HWND hd, hdEdit;Код:
hdEdit = FindWindowEx( hd , 0, 'Edit','Edit'); //2 параметр имя класса 3 параметр имя элемента.Теперь отправляем Код:
if(hdEdit!=NULL) |
Да ему не текст в едит ))) Ему надо послать сочетание букв в окно
|
Цитата:
|
http://www.edgeofnowhere.cc/viewtopic.php?t=396398
|
| Время: 18:58 |