C++ && GDI+ 保存不了截图 ,Win32Error(7)

来源:互联网 发布:自学电子琴的软件 编辑:程序博客网 时间:2024/04/27 18:32

atlimage.h中这段代码的status返回一直是Win32Error(7),

Gdiplus::Bitmap bm( m_hBitmap, NULL );
status = bm.Save( pwszFileName, &clsidEncoder, NULL );
if( status != Gdiplus::Ok )
{
return( E_FAIL );
}


而且atlimage.h还不允许修改。加上 GetLastError(),竟然提示 拒绝访问,原来是win8系统的问题,编译的软件不是以管理员身份运行就无法访问资源,

编译好后点右键,管理员身份运行,一点问题都没有。


image.Save("F:\\ScreenShot.png", Gdiplus::ImageFormatPNG);
LPVOID lpMsgBuf;
DWORD dw = GetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpMsgBuf,
0, NULL);


printf("截图已保存 %s\n", lpMsgBuf);



0 0
原创粉丝点击