Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизКак программно скопировать файлы в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.029 c