//保存对话框
OPENFILENAME ofn;
TCHAR strFileName[MAX_PATH]={ _T("无标题.bmp")};
ofn.lStructSize = sizeof (OPENFILENAME) ;
ofn.hwndOwner = NULL ;
ofn.hInstance = NULL ;
ofn.lpstrFilter = _T("bmp图片文件\0*.*\0" ); //类型过滤
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0 ;
ofn.nFilterIndex = 0 ;
ofn.lpstrFile = strFileName ; // 文件路径指针
ofn.nMaxFile = MAX_PATH ; //文件路径大小
ofn.lpstrFileTitle =NULL ; //文件名指针
ofn.nMaxFileTitle = 0 ; //文件名大小
ofn.lpstrInitialDir = NULL; //初始化路径
ofn.lpstrTitle =_T( "保存为" ); //对话框标题
ofn.Flags = OFN_EXPLORER ; //位标记的设置
ofn.nFileOffset = 0 ;
ofn.nFileExtension = 0 ;
ofn.lpstrDefExt = _T ("bmp") ; //默认扩展名
ofn.lCustData = 0L ;
ofn.lpfnHook = NULL ;
ofn.lpTemplateName = NULL ;
GetSaveFileName(&ofn);//保存文件窗口
//以下几行代码注意,换成mfc的版本,比如getdc等函数, CImage不需要换
HDC hDC=GetDC(hwnd);
RECT rect;
GetClientRect(hwnd,&rect);
HBITMAP hBmp=GetSrcBit(hDC,rect.right,rect.bottom);
CImage image;
image.Attach(hBmp);
image.Save(ofn.lpstrFile);
ReleaseDC(hwnd,hDC);
DeleteObject(hBmp);//释放