сохранение данных из буфера обмена
От: Владимир Россия  
Дата: 20.08.02 14:26
Оценка:
Помогите кто знает.
Требуется: Сохранить картинку из буфера обмена в файл.
Делаю например.


unsigned int format = 0;
DWORD memSize;
HANDLE hMem;

OpenClipboard(NULL);
format = EnumClipboardFormats(format);
for (;format != CF_BITMAP && format != 0; format = EnumClipboardFormats(format)){
//sprintf(buffer, "Format: %d", format);
//MessageBox(NULL, buffer, "Test", MB_OK);
};
if (format != CF_BITMAP){
MessageBox(NULL,"Not Found", "Test", MB_OK);
}else{
MessageBox(NULL,"CF_BITMAP Found", "Test", MB_OK);
hMem = GetClipboardData(CF_BITMAP);
if (hMem){
memSize = GlobalSize(hMem);
};

Вот тут то уже засада какая-то, т.к. memSize = 0, a GetLastError() после нее = 6 (The handle is invalid.) :(
Все это дело лежит и дергается из DLL-ки, т.к. сама прога писана на Sybase PowerBuilder'e, а там уж больно муторно WINAPI'шные функции так дергать.

Ежели кто знает что неправильно, или как правильно и быстро сохранить картинку из буфера обмена в файл, прошу помочь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.