C语言怎么实现截图

C语言怎么实现截图,第1张

1、用C语言实现windows程序截图,太麻烦。建议用C++做比较好。

2、截图例程:

#ifndef CAPTUREBLT

#define CAPTUREBLT 0x40000000

#endif

HBITMAP CaptureScreen(LPRECT lpRect)//lpRect为NULL时表示全屏幕截图

{

    HDC      hdc, hdcMem 

    HBITMAP  hemfCopy 

    HWND     hwndScr 

    int      dstcx, dstcy 

    if(lpRect)

    {

        dstcx = lpRect->right - lpRect->left 

        dstcy = lpRect->bottom - lpRect->top 

    }

    else

    {

        dstcx = GetSystemMetrics(SM_CXSCREEN) 

        dstcy = GetSystemMetrics(SM_CYSCREEN) 

    }

    if (LockWindowUpdate(hwndScr = GetDesktopWindow ()))

    {

        hdc  = GetDCEx (hwndScr, NULL, DCX_CACHE | DCX_LOCKWINDOWUPDATE) 

        hdcMem = CreateCompatibleDC (hdc) 

        if(NULL==hdcMem)

        {

            ReleaseDC (hwndScr, hdc) 

            LockWindowUpdate (NULL) 

            return NULL

        }

        hemfCopy = CreateCompatibleBitmap (hdc, abs(dstcx), abs(dstcy)) 

        if(NULL==hemfCopy)

        {

            DeleteDC (hdcMem) 

            ReleaseDC (hwndScr, hdc) 

            LockWindowUpdate (NULL) 

            return NULL

        }

        SelectObject (hdcMem, hemfCopy) 

        if(lpRect)

            StretchBlt (hdcMem, 0, 0, abs(dstcx), abs(dstcy), 

                hdc, lpRect->left, lpRect->top, dstcx, dstcy, SRCCOPY|CAPTUREBLT) 

        else

            BitBlt (hdcMem, 0, 0, dstcx, dstcy, 

                hdc, 0, 0, SRCCOPY|CAPTUREBLT) 

        DeleteDC (hdcMem) 

        ReleaseDC (hwndScr, hdc) 

        LockWindowUpdate (NULL) 

        return hemfCopy

    }

    return NULL

}

按照 *** 作上从易到难的顺序,给你推荐五种截屏方式 :

第一种:Ctrl+PrScrn使用这个组合键截屏,获得的是整个屏幕的图片;

第二种:Alt+PrScrn这个组合键截屏,获得的结果是当前窗口的图片;

(上面两种方法,然后在桌面点右键新建“图画”或“BMP图像”,粘贴即可;也可以在Photoshop中新建文件,粘贴即可。)

第三种:打开q q,使用快捷键Ctrl+Alt+A, 这样可以在屏幕上的任何地方截屏,右键选中截图“另存为…”,还可以在截屏图片上做一些简单的注释和处理;

第四种:在淘宝旺旺对话框中,有截图工具, *** 作方法类似Q Q截图;

第五种:使用专业的截屏软件。 推荐Snagit,专业软件的截屏效果更加强大,可识别和提取截图中的文字。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11036353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存