小编KAo*_*oTI的帖子

为什么在这里需要这个花括号?谁能解释我为什么会这样?

我正在编写代码以制作屏幕截图并将其保存为JPEG文件类型。我找到了这段代码,但是我不明白为什么之后删除花括号时它给我一个错误 GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);。

完整代码:

void gdiscreen()
{
    using namespace Gdiplus;
    GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR gdiplusToken;
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    {
        HDC scrdc, memdc;
        HBITMAP membit;
        scrdc = ::GetDC(0);
        int Height = GetSystemMetrics(SM_CYSCREEN);
        int Width = GetSystemMetrics(SM_CXSCREEN);
        memdc = CreateCompatibleDC(scrdc);
        membit = CreateCompatibleBitmap(scrdc, Width, Height);
        HBITMAP hOldBitmap = (HBITMAP)SelectObject(memdc, membit);
        BitBlt(memdc, 0, 0, Width, Height, scrdc, 0, 0, SRCCOPY);
        Gdiplus::Bitmap bitmap(membit, NULL);
        CLSID clsid;
        GetEncoderClsid(L"image/jpeg", &clsid);
        bitmap.Save(L"screen.jpeg", &clsid);
        SelectObject(memdc, hOldBitmap);
        DeleteObject(memdc);
        DeleteObject(membit);
        ::ReleaseDC(0, scrdc);
    }
    GdiplusShutdown(gdiplusToken);
}
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么我需要花括号吗?

当我移除花括号时,出现以下错误:

Exception produced …
Run Code Online (Sandbox Code Playgroud)

c++ gdi+ visual-studio

1
推荐指数
1
解决办法
67
查看次数

标签 统计

c++ ×1

gdi+ ×1

visual-studio ×1