Войти
ПрограммированиеФорумОбщее

Не работает моя функция!

#0
16:18, 6 июня 2011
procedure CopyStringToClipboard(s: string);
var
  hg: THandle;
  P: PChar;
begin
  hg:=GlobalAlloc(GMEM_DDESHARE or GMEM_MOVEABLE, Length(S)+1);
  P:=GlobalLock(hg);
  StrPCopy(P, s);
  GlobalUnlock(hg);
  OpenClipboard(Application.Handle);
  SetClipboardData(CF_TEXT, hg);
  CloseClipboard;
  GlobalFree(hg);
end;

procedure PostString(S : String);
begin
  CopyStringToClipboard(s);
  keybd_event($11, 0, 0, 0);
  keybd_event(Ord('V'), 0, 0, 0);
  keybd_event($11, 0,  KEYEVENTF_KEYUP, 0);
  keybd_event(Ord('V'), 0,  KEYEVENTF_KEYUP, 0);
end;

PostString не встовляет строку из буфера, подскажите в чем проблема???  Изображение


#1
16:37, 6 июня 2011

VintProg
> подскажите в чем проблема???
Делфи...

#2
16:41, 6 июня 2011

Насколько я знаю, у Delphi есть стандартные компоненты для работы с буфером обмена.
Memo1.SelText := Clipboard.AsText;
Delphi Вставка из буфера

ПрограммированиеФорумОбщее

Тема в архиве.