首页 新闻 会员 周边

请高手指点,在做截图功能,但是只能在窗口内进行截图,有什么办法对整个屏幕中的任意部分截图的吗

0
悬赏园豆:5 [已解决问题] 解决于 2013-03-01 09:07

请高手指点,在做截图功能,但是只能在窗口内进行截图,有什么办法对整个屏幕中的任意部分截图的吗

HBITMAP CPSTestDlg::GetSrcBit(void) 

    HBITMAP hBitmap,hOldBitmap; 
    CPaintDC dc(this); 
    HDC hmyMemDC = CreateCompatibleDC(dc.m_hDC); 
    hBitmap = CreateCompatibleBitmap(dc.m_hDC, WIDTH, HEIGHT); 
    hOldBitmap = (HBITMAP)SelectObject(hmyMemDC, hBitmap); 
 
    BitBlt(hmyMemDC, 0, 0, WIDTH, HEIGHT,dc.m_hDC, 0, 0, SRCCOPY); 
 
 
    hBitmap = (HBITMAP)SelectObject(hmyMemDC, hOldBitmap); 
 
    return (hBitmap); 

一枚程序的主页 一枚程序 | 初学一级 | 园豆:108
提问于:2013-02-28 15:42
< >
分享
最佳答案
0
 1 HBITMAP CPSTestDlg::GetSrcBit(void)  
 2 {  
 3     HBITMAP hBitmap,hOldBitmap;  
 4     HDC dc=::GetDC(NULL);  
 5     HDC hmyMemDC = CreateCompatibleDC(dc);  
 6     hBitmap = CreateCompatibleBitmap(dc, WIDTH, HEIGHT);  
 7     hOldBitmap = (HBITMAP)SelectObject(hmyMemDC, hBitmap);  
 8     BitBlt(hmyMemDC, 0, 0, WIDTH, HEIGHT,dc, 0, 0, SRCCOPY);  
 9     hBitmap = (HBITMAP)SelectObject(hmyMemDC, hOldBitmap);  
10     return (hBitmap);  
11 } 
收获园豆:5
岬淢箫声 | 初学一级 |园豆:190 | 2013-02-28 23:41

谢谢~~

一枚程序 | 园豆:108 (初学一级) | 2013-03-01 09:07
其他回答(1)
0

对整个屏幕中的任意部分截图功能使用GDI确定区域。

参考:http://www.cnblogs.com/wenyang-rio/archive/2013/01/23/2865958.html

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-02-28 16:32

谢谢,不过有没有C++的,

支持(0) 反对(0) 一枚程序 | 园豆:108 (初学一级) | 2013-02-28 16:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册