Re: сохранение данных из буфера обмена
От: Владимир Россия  
Дата: 21.08.02 11:09
Оценка:
Благодарю Willi за ответ.
Я нашел решение, которое привожу здесь. Возможно кому-нибудь понадобится.

//main.c

#include <windows.h>
#include "dibapi.h"

int __stdcall ClipboardToFile(HWND hWnd, LPCTSTR FileName){
int ReturnValue = 0;
unsigned int format = 0;
HANDLE hMem;
if (OpenClipboard(NULL)){
format = EnumClipboardFormats(format);
for (;format != CF_DIB && format != 0; format = EnumClipboardFormats(format));
if (format == CF_DIB){
hMem = GetClipboardData(CF_DIB);
if (hMem){
ReturnValue = SaveDIB((HDIB)hMem, (LPSTR)FileName);
};
}else{
MessageBox(hWnd,"Неверный формат", "Вставка из буфера", MB_OK);
ReturnValue = -10;
};
} else {
ReturnValue = -20;
};
CloseClipboard();
return ReturnValue;
}

Функция SaveDIB определяется в файле file.c
Листинги файлов file.c, dibutil.c, dibapi.h, dibutil.h найдены мной в MSDN от 6-го плюса.
Лучше всего искать по слову "dibapi.h"
Подключаете к проекту и вперед.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.