我正在使用一個捕獲卡dll,它導出一個提供包含DIB的HGLOBAL句柄的函數。我想將這個DIB寫入一個文件。在我鎖定資源並檢索數據指針之後,我要求它的大小約爲1mb。但是當我將它寫入文件時,它總是0字節。這是我第一次使用HGLOBAL類型,所以我猜測我做錯了什麼。我感謝您的幫助。無法將HGLOBAL DIB數據寫入文件
char* dibData = (char*)LockResource(DIB);
if(NULL != dibData)
{
SIZE_T dibSize = GlobalSize (DIB);
f = fopen("thedib.dib", "wb");
if (f)
{
n = fwrite(dibData,dibSize,1,f);
fflush(f);
fclose(f);
wrote = true;
}
UnlockResource(DIB);
}
'SizeofResource(DIB)'的結果是什麼? http://msdn.microsoft.com/en-us/library/windows/desktop/ms648048.aspx – user7116
如果我做DWORD dibSize = SizeofResource(NULL,(HRSRC)DIB);那麼dibsize = 0。 – kevincw01
我想知道是否LockResource甚至是必要的,因爲這個圖像不是來自可執行文件。 – kevincw01