|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
эммитировать нажатия клавиш в окне блокнота
Дано: неактивное окно блокнота с именем "Безымянный - Блокнот".
Задача: написать программу, которая сможет эммитировать нажатия клавиш в окне блокнота, неактивизируя его. |
#2
|
||||
|
||||
Как то так...
Нужно по имени окна найти его Handle... Код:
Handle := FindWindow(nil, 'Безымянный - Блокнот'); Ответ Код:
function ChangeWndFirstEditText(Wnd: HWND; const Text: string): boolean; var EditWnd: HWND; begin Result := False; EditWnd := FindWindowEx(Wnd, 0, 'EDIT', nil); if EditWnd = 0 then exit; //эдит не найден Result := SendMessage(EditWnd, WM_SETTEXT, 0, Integer(PChar(Text))) <> 0; end; Дальше нужно думать и экспериментировать... В начале был Бит, потом Байт и только потом появилось Слово... |
#3
|
||||
|
||||
NIch, чисто из академического интереса спрашиваю. А вдруг нажатой клавишей будет Print Screen?
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#4
|
||||
|
||||
лично я про нажатые клавиши ничего не писал...показал лишь возможность ввода текста в "чужое окно"...
а по поводу твоего вопроса, думаю нужно просто фильтровать коды клавиш... В начале был Бит, потом Байт и только потом появилось Слово... |