char url[1000] = "http://192.168.131.129:8080/?action=snapshot";
//cout<<"目標地址 URL:"<<url<<endl;
unsigned char *buffer=new BYTE[100000];
DWORD bytes_read;
HINTERNET internet= InternetOpen("HTTP Downloader",INTERNET_OPEN_TYPE_PRECONFIG,
NULL,NULL, NULL);
if( !internet )
return ;
HINTERNET file_handle = InternetOpenUrl(internet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0);
if( !file_handle)
return ;
void *pImageMemory=GlobalLock(buffer);
BOOL b = InternetReadFile(file_handle,pImageMemory,100000,&bytes_read);
GlobalUnlock(pImageMemory); //解鎖記憶體
if(!b)
return;
CDC* pDC = GetDlgItem(IDC_ShowImg) ->GetDC();
HDC hDC = pDC ->GetSafeHdc();
CRect rect;
GetDlgItem(IDC_ShowImg) ->GetClientRect( &rect );
IStream *pIStream;//建立一個IStream介面指標,用來儲存圖片流
IPicture *pIPicture;//建立一個IPicture介面指標,表示圖片對象
CreateStreamOnHGlobal(pImageMemory, false, &pIStream); //用全域記憶體初使化IStream介面指標
OleLoadPicture(pIStream, 0, false, IID_IPicture, (LPVOID*)&(pIPicture));//用OleLoadPicture獲得IPicture接
long hmWidth;
long hmHeight;
pIPicture->get_Width(&hmWidth); //用介面方法獲得圖片的寬和高
pIPicture->get_Height(&hmHeight);
pIPicture->Render(hDC,0,0,640,480,0,hmHeight,hmWidth,-hmHeight,NULL);
//HANDLE hFile =CreateFile(_T(file_handle), GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
// buffer[bytes_read]=0;
// delete []buffer;
GlobalFree(pImageMemory); //釋放全域記憶體
pIStream->Release(); //釋放pIStream
pIPicture->Release(); //釋放pIPicture
InternetCloseHandle(internet);