Вниз
Скачать: CL | DM;

Замена буфера обмена   Найти похожие ветки 

← →
buben ©   (2007-05-25 16:52) [0]

Изменяю буфер обмена
[code]
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(0);
 SetClipboardData(CF_TEXT, hg);
 CloseClipboard;
 GlobalFree(hg);
end;
[/code]

Но этот изменённый буфер, в дальнейшем, вставляется не во все приложения, есть такие, в которые он вставляется, как захваченный до изменения. Как реализовать вставку во все приложения?

Пробовал так,
[code]
 SetClipboardData(CF_TEXT, hg);
 SetClipboardData(CF_LOCALE, hg);
 SetClipboardData(CF_OEMTEXT, hg);
[/code]

результат прежний.


← →
Belorus ©   (2007-05-26 12:05) [1]

А что за модный тег [code] ?


← →
ElectriC ©   (2007-05-27 02:57) [2]


> Belorus ©

Это, типа, крутое объявление того, что дальше идёт исходник ;)))))))))


← →
ElectriC ©   (2007-05-27 02:59) [3]

Удалено модератором


← →
Сергей М. ©   (2007-05-28 10:07) [4]

procedure TClipboard.SetBuffer(Format: Word; var Buffer; Size: Integer);
var
 Data: THandle;
 DataPtr: Pointer;
begin
 Open;
 try
   Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
   try
     DataPtr := GlobalLock(Data);
     try
       Move(Buffer, DataPtr^, Size);
       Adding;
       SetClipboardData(Format, Data);
     finally
       GlobalUnlock(Data);
     end;
   except
     GlobalFree(Data);
     raise;
   end;
 finally
   Close;
 end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
2-1195287266
Hint
2007-11-17 11:14
2007.12.16
Получение названий продуктов запущенных приложений


4-1180351823
Lex_!
2007-05-28 15:30
2007.12.16
Список оборудования в системе


2-1195846522
greengeneral
2007-11-23 22:35
2007.12.16
копировать из StringGrid


15-1195468081
YaroslavB
2007-11-19 13:28
2007.12.16
Double в шестнадцатеричную систему


2-1195201850
timekiller
2007-11-16 11:30
2007.12.16
Delphi, XML, parent Node




   Наверх