bool Tool::capturePicture(QString strWndName, QString strFilepath)
{
HWND hwnd = ::FindWindowW(NULL, strWndName.toStdWString().c_str());
if (NULL == hwnd )
return false;
HDC hdcWindow;
HDC hdcMemDC = NULL;
HBITMAP hbmScreen = NULL;
BITMAP bmpScreen;
RECT rcClient;
BITMAPFILEHEADER bmfHeader;
BITMAPINFOHEADER bi;
DWORD dwBmpSize;
HANDLE hDIB;
CHAR *lpbitmap;
HANDLE hFile;
DWORD dwSizeofDIB;
DWORD dwBytesWritten;
bool bRet = false;
hdcWindow = GetWindowDC(hwnd); // 截图目标窗口DC
// 创建兼容内存DC
hdcMemDC = CreateCompatibleDC(hdcWindow);
if(!hdcMemDC)
{
goto done;
}
// 获取客户端区域用于计算大小
GetClientRect(hwnd, &rcClient
截图代码-窗口截图
最新推荐文章于 2024-05-16 03:03:53 发布