Ярлыки

среда, 2 июня 2010 г.

Copy Files From Clipboard

//проверяем есть ли доступные данные
//CF_HDROP означает что нас интересуют входящие данные о файлах
if (!IsClipboardFormatAvailable(CF_HDROP))
{
AfxMessageBox( "No avaible files in Clipboard" );
return;
}
//открываем буфер обмена
if ( !OpenClipboard() )
{
AfxMessageBox( "Cannot open the Clipboard" );
return;
}
//получаем данные из буфера обмена
HDROP my_cb_data;
//приводим данные из типа HANDLE в тип HDROP
my_cb_data = (HDROP)GetClipboardData(CF_HDROP);
//если данные получены
if(my_cb_data)
{
//получаем количество файлов в буфере обмена
//для чего вторым параметром передаем 0xFFFFFFFF
UINT num_cb_files = DragQueryFile(my_cb_data,0xFFFFFFFF,NULL,0);
CString st_num_cb_files;
st_num_cb_files.Format("%i", num_cb_files);
AfxMessageBox( st_num_cb_files, MB_OK);
//создаем буфер для хранения имен файлов
TCHAR *fName = new TCHAR[num_cb_files];
//заполняем буфер
DragQueryFile(my_cb_dta, 0, fName, num_cb_files );
AfxMessageBox( fName, MB_OK);

}
//закрываем буфер обмена
CloseClipboard();

http://www.vsokovikov.narod.ru/New_MSDN_API/index_msdn.htm

http://www.codeproject.com/KB/clipboard/archerclipboard1.aspx

http://netcode.ru/cpp/?click=r-213.php.htm

Комментариев нет:

Отправить комментарий