Уже написал о свое проблеме в тему
WIN APIАвтор: Yohan
Дата: 31.01.07
, но вопрос затрагивает смежные темы – посмотрите, может поможете:
Такой вопрос.
Тащим картинку из IE в программу. Программа получает файл, но он локальный, из кэша, и в его имени появляются прямоугольные скобки с цифрами. Например, было img.jpg если перетащить будет img[1].jpg.
Этот эффект можно наблюдать, если просто из IE перетащить картинку, например на рабочий стол – она тоже будет с таким именем.
Как можно из программы достучатся до IE, и узнать настоящее имя перетащенного файла.
Обработка получения файлов в программе примерно такая:
case WM_DROPFILES:
{
INT_PTR nCnt, nIndex, nSize;
LPTSTR pszFileName;
HDROP hDrop;
hDrop = (HDROP)wParam;
nCnt = DragQueryFile(hDrop, (UINT)-1, NULL, 0);
for(nIndex = 0; nIndex < nCnt; ++nIndex)
{
if(0 == (nSize = DragQueryFile(hDrop, (UINT)nIndex, NULL, 0)))
continue;
pszFileName = new TCHAR[++nSize];
if(DragQueryFile(hDrop, (UINT)nIndex, pszFileName, (UINT)nSize))
{
… вот тут, в переменной pszFileName есть полный путь до файла, но путь локальный, примерно такой:
c:\Documents and Settings\USER\Local Settings\Temp\Temporary Internet Files\Content.IE5\KDQVODUB\img[1].jpg
А нужно иметь что-то типа
http://www.site.com/img.jpg
};
};
DragFinish(hDrop);
};
break;
MSDN: Network and Directory Services->Network Protocols->Windows Internet->WinINet Reference->WinINet Functions
FindFirstUrlCacheEntry, FindNextUrlCacheEntry, FindCloseUrlCache
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, dkotov, Вы писали:
D>MSDN: Network and Directory Services->Network Protocols->Windows Internet->WinINet Reference->WinINet Functions
D> FindFirstUrlCacheEntry, FindNextUrlCacheEntry, FindCloseUrlCache
Спасибо за помощь. Решил немного другим способом. Правда возникли другие проблемы —
посмотрите здесьАвтор: Yohan
Дата: 06.02.07
– может, что подскажете...