⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipicture.cpp

📁 实时监控
💻 CPP
字号:


#include "stdafx.h"
#include "IPicture.h"

HRESULT ShowPic(char *lpstrFile,HWND hWnd,int nScrWidth,int nScrHeight) 
{ 
	HDC hDC_Temp=GetDC(hWnd); 

	IPicture *pPic; 
	IStream *pStm; 

    
	BOOL bResult; 

	HANDLE hFile=NULL; 
	DWORD dwFileSize,dwByteRead; 

	//打开硬盘中的图形文件 
	hFile=CreateFile(lpstrFile,GENERIC_READ, FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); 

	if (hFile!=INVALID_HANDLE_VALUE) 
	{ 
		dwFileSize=GetFileSize(hFile,NULL);//获取文件字节数 

		if (dwFileSize==0xFFFFFFFF) 
			return E_FAIL; 
	} 
	else 
	{ 
		return E_FAIL; 
	} 


		//分配全局存储空间 
	HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize); 
	LPVOID pvData = NULL; 

	if (hGlobal == NULL) 
		return E_FAIL; 

	if ((pvData = GlobalLock(hGlobal)) == NULL)//锁定分配内存块 
		return E_FAIL; 



	ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//把文件读入内存缓冲区 

	GlobalUnlock(hGlobal); 
	
	CreateStreamOnHGlobal(hGlobal, TRUE, &pStm); 


	//装入图形文件 
	bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic); 

	if(FAILED(bResult)) 
		return E_FAIL; 

	OLE_XSIZE_HIMETRIC hmWidth;//图片的真实宽度 
	OLE_YSIZE_HIMETRIC hmHeight;//图片的真实高度 
	pPic->get_Width(&hmWidth); 
	pPic->get_Height(&hmHeight); 


	//将图形输出到屏幕上
	bResult=pPic->Render(hDC_Temp,0,0,nScrWidth,nScrHeight, 0,hmHeight,hmWidth,-hmHeight,NULL); 

	pPic->Release(); 

	CloseHandle(hFile);//关闭打开的文件

	GlobalFree(hGlobal) ;

	ReleaseDC(hWnd,hDC_Temp) ;

	pStm->Release() ;

	

	if (SUCCEEDED(bResult)) 
	{ 
		return S_OK; 
	} 
	else 
	{ 
		return E_FAIL; 
	}
//	return 1 ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -