Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Как программно скопировать файлы в Clipboard???   Найти похожие ветки 

 
Leran2002 ©   (2003-06-16 09:59) [0]

Как программно скопировать файлы в Clipboard (напр. C:\1.txt C:\2.txt C:\3.txt)???
Чтоб их потом можно было вставить, например, в проводнике...
Мне нужно имено в Clipboard, а не из каталога в каталог...

Заранее благодарен...


 
Foxtrot ©   (2003-06-16 10:25) [1]

Может я чего-то я не понимаю, но вроде даже Виндовс не копирует сами файлы в клипборд. Он просто запоминает их имена, а когда жмёшь вставить, он тогда копирует из папки в папку. Раз сечёшь в клипборде, то выдели файл, нажми копировать и проверь, что виндовс туда сунул. Сам потом сможешь совать туда чё хочешь. Хотя возможно В. и не туда суёт, тогда придётся где-то искать процедуру (а такая 100% имеется) которая, как ты говоришь "программно" запомнит имена куда нужно.


 
leran2002 ©   (2003-06-16 10:32) [2]

Ну да я это и имел в виду, просто неправильно выразился...


 
clickmaker ©   (2003-06-16 11:15) [3]

SetClipboardData(CF_HDROP, hDrop)
hDrop д.б. хэндлом глобального участка памяти, куда записана структура DROPFILES + пути файлов за ней, разделенные 0 и закрытые двумя 0


 
leran2002 ©   (2003-06-16 15:10) [4]

Нашел!!! :)) Может кому пригодиться:

uses ShlObj,clipbrd;
...

var
i,ListSize: integer;
H: THANDLE;
pDF: PDropFiles;
S: String;
AFileList:TStringList;

...

AFileList:=TStringList.Create;
AFileList.Add("C:\sergey\kzordatelecom\telinter\regdogov.txt");
AFileList.Add("C:\sergey\kzordatelecom\telinter\regphones.txt");

...

if AFileList.Count = 0 then Exit;
S:= "";
ListSize:= 0;
for i:= 0 to AFileList.Count - 1 do
begin
ListSize:= ListSize + Length(AFileList[i]) + 1;
S:= S + AFileList[i] + #0;
end;
Inc(ListSize);

H:= GlobalAlloc(GMEM_MOVEABLE OR GMEM_ZEROINIT, SizeOf(TDropFiles) + ListSize);

pDF:= GlobalLock(H);
pDF^.pFiles:= SizeOf(pDF^.pFiles) + SizeOf(pDF^.pt) +
SizeOf(pDF^.fNC) + SizeOf(pDF^.fWide);
CopyMemory(Pointer(Cardinal(pDF) + pDF^.pFiles), Pointer(S), ListSize);
GlobalUnLock(H);
Clipboard.SetAsHandle(CF_HDROP, H);

...

AFileList.Free;



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

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
1-84203
NickName
2003-06-12 13:56
2003.06.26
Сброс фокус Memo


1-84412
AbrosimovA
2003-06-06 16:54
2003.06.26
Выполнение процедуры в потоке


6-84510
mixamixa
2003-04-20 20:25
2003.06.26
Предача файлов ч/з ClientSocket & Serve


14-84698
Vlad Oshin
2003-06-05 11:15
2003.06.26
А помните? ..И ему было только 16 лет!?!


7-84787
Keksis
2003-04-18 01:58
2003.06.26
Мышка