Форум » Для флейма » Список файлов » Ответить

Список файлов

fil: Приветствую ! В винде открываем папку. В ней некие файлы. Помечаем нужные и правой кнопкой копируем. Т.е., я так понимаю, в клипборде сохраняются ссылки на эти файлы. Далее - в моей проге есть бровс, правой кнопкой мыши мне нужно вставлять заголовки этих файлов в бровс (с путем). Как, в принципе, можно решить эту задачу

Ответов - 30 новых, стр: 1 2 All

Dima: Попробовал проделать эту операцию но в буфере увидел только ссылку на один файл (текущем). Сам проверь. Пуск - Выполнить - clipbrd.exe Тоже интересно а где же тогда винда хранит список отмеченных ...

fil: Да проверял уже.. Думаю засада в формате считываемых из буфера данных fl:=TActiveX():New(oWnd, "Shell.Explorer.2", 0, 0, 0, 0) fl:Do("Navigate2", "about:blank") ? pol:=fl:document:parentWindow:clipboardData:getData("text") вроде нормально. Но это для текстовых данных, а вот для файлов какой-то другой или буфер не так читаю

Dima: похоже надо курить доку http://www.vsokovikov.narod.ru/New_MSDN_API/Clipboard/ogl_clipbrd.htm


fil: Придется доку. Взял примерчик (в Samples) и пргнал по всем форматам, их 14, ничего не получил.

PSP: Посмотри прогу CLCL

fil: А можно бросить в меня этой прогой CLCL ?

Dima: http://www.nakka.com/soft/clcl/index_rus.html

PSP: http://www.nakka.com/soft/clcl/index_rus.html

Dima: Dima пишет: Отправлено: Сегодня 17:42 PSP пишет: Отправлено: Сегодня 17:42

PSP: Бывааааает... ))

fil: Посvотрел.. обе Ну да, все определяет как-то. Вот тока как ?

Dima: Либо снова курить доку но более продвинутую , либо найти аналог проги CLCL с сырцами и курить их , либо подождать мастера , авось заглянет в эту тему ;)

Dima: fil Если вопрос решил , напиши как !

fil: Не решил (руки не дошли. Сокет делал), но так понял, что через метод GetAsHandle надо

fil: Dima ты интересовался function main local hDrp, fl if IsClipboardFormatAvailable (15)>0 OpenClipboard (getdesktopwindow()) hDrp:=GetClipboardData(15) for st=1 to 100 fl:=space(200) if DragQueryFile (hDrp, st-1, fl, 200)=0 exit else ? fl endif next endif return NIL DLL32 Function IsClipboardFormatAvailable (format AS LONG) AS LONG ; PASCAL LIB "USER32" DLL32 Function GetClipboardData (wFormat AS LONG) AS LONG ; PASCAL LIB "USER32" DLL32 Function OpenClipboard (hwnd AS LONG) AS LONG PASCAL LIB "USER32" DLL32 Function DragQueryFile (HDROP AS LONG, UINT AS LONG, lpStr AS STRING, ; ch AS LONG) AS LONG PASCAL FROM "DragQueryFileA" Lib "shell32.dll"

Dima: fil пишет: DLL32 Function DragQueryFile (HDROP AS LONG, UINT AS LONG, lpStr AS STRING, ; ch AS LONG) AS LONG PASCAL FROM "DragQueryFileA" Lib "shell32.dll" Юра не могу собрать ;) Error E0030 Syntax error "syntax error at '-'"

fil: А в чем собираешь, я ведь это под FW делал ?

Dima: собираю под Harbour + либы hbxpp и xhb

fil: Там, правда, ничего FW'ного нет тока API.. Ошибка только в DragQueryFile ? Попробуй эту строчку переписать вручную

Dima: Короче вот из за этого не собирается UINT AS LONG почему не пойму. Если это убрать собирается но такой подход не правильный.



полная версия страницы