Буфер клавиатуры
Заранее спасибо.
А для чего ты хочешь передать строку?
Если для вставки, то на Delphi это выглядит так.
Не претендую на полноту ответа: код работает только с блокнотом.
procedure TForm1.TimerTimer(Sender: TObject);
var
wnd: HWND;
hg: THandle;
P: PChar;
begin
{ Edit1.Text - передаваемая строка }
{ копирование строки в буффер }
hg:=GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE, Length(Edit1.Text)+1);
P:=GlobalLock(hg);
StrPCopy(P, Edit1.Text);
GlobalUnlock(hg);
OpenClipboard(Application.Handle);
SetClipboardData(CF_TEXT, hg);
CloseClipboard;
GlobalFree(hg);
{ активное окно }
wnd := GetForegroundWindow;
{ отправить сообщение окну о необходимости }
{ провести вставку }
SendMessage(GetTopWindow(wnd), WM_PASTE, 0, 0);
end;
У меня в свою очередь возник вопрос - как мне записать клавишу пробел (или какую-то другую в буфер клавиатуры). У меня консольная программка, написанная на C++. Из под этой программки стартует другая и в конце ожидает нажатие клавиши. Вот только пока не нашел, как в этот самый буфер записать что-то.
Заранее благодарен!