Показать сообщение отдельно
  #6  
Старый 20.04.2013, 19:56
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от PonuHunter
...Проблема в том что когда я пытаюсь копипастнуть его в программу то копируется текст тот который был до того как я изменил содержимое буфера обмена.
Значит не копируется, потому как буфер один на всех и старой инфе храниться больше негде. А вот такой код будет работать?
Код:
type
  TForm1 = class(TForm)
...
procedure SendMsg;
...
procedure Form1.SendMsg;
begin

// копируем содержимое memo1 в буфер обмена
  Memo1.SelectAll;
  Memo1.CopyToClipboard;

// кликаем в поле ввода в окне другой программы для того чтобы оно стало активным для ввода
  PostMessage(Handler, WM_LBUTTONDOWN, MK_LBUTTON, MAKELparam(EditX, EditY));
  sleep(100);
  PostMessage(Handler, WM_LBUTTONUP, 0, MAKELparam(EditX, EditY));
  sleep(1000);

// посылаем окну комбинацию ctrl + v
  keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0);
  keybd_event(86, 0, KEYEVENTF_EXTENDEDKEY, 0);
  keybd_event(VK_CONTROL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
  keybd_event(86, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);

// нажимаем ентер
  PostMessage(Handler, WM_KEYDOWN, VK_RETURN, $00000001);
  sleep(100);
  PostMessage(Handler, WM_KEYUP, VK_RETURN, $C0000001);
  sleep(100);

end;
Ответить с цитированием