Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.015 c
4-84819
Мишган
2003-04-23 11:18
2003.06.26
Отловить запуск DOS-приложения


1-84208
Rule
2003-06-12 17:59
2003.06.26
Вызов браузера, установленоого по умолчанию с нужной страницей


1-84384
Aiax
2003-06-09 12:45
2003.06.26
Генерация случайных чисел без повторов


1-84137
namor
2003-06-09 15:56
2003.06.26
Прорисовка изображений в TDBlookUpComboBox


4-84850
Airdriver
2003-04-26 12:34
2003.06.26
---|Ветка была без названия|---




   Наверх