欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
VC 怎樣實(shí)現屏幕捕捉(源程序)

VC++怎樣實(shí)現屏幕捕捉(源程序)

jackyhwei 發(fā)布于 2011-11-06 14:10 點(diǎn)擊:155次
這個(gè)就是QQ里截取屏幕的功能實(shí)現代碼,很簡(jiǎn)單,完整代碼如下。

這個(gè)就是QQ里截取屏幕的功能實(shí)現代碼,很簡(jiǎn)單,完整代碼如下。

在ScreenCaptureDlg.cpp中聲明2個(gè)全局變量:

  1. HWND hwndCapture; 
  2. CRect rectCapture; 

相關(guān)代碼:

  1. void CScreenCaptureDlg::onMouseMove(UINT nFlags, CPoint point) 
  2. //如果用戶(hù)將鼠標左鍵按住不放,則開(kāi)始抓取圖片 
  3. if(nFlags==MK_LBUTTON) 
  4. //隱藏程序窗口,以免影響在抓取時(shí)的“視野” 
  5. ShowWindow(SW_HIDE); 
  6. //裝入“照相機”鼠標,開(kāi)始追蹤鼠標的移動(dòng) 
  7. HCURSOR cur=LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDC_CAMERA)); 
  8. SetCursor(cur); 
  9. SetCapture(); 
  10. //獲得鼠標所在處的窗口句柄 
  11. ClientToScreen(&point); 
  12. hwndCapture=(HWND)::WindowFromPoint(point); 
  13. //取得屏幕的設備環(huán)境句柄,以便在屏幕的任何位置繪圖 
  14. HDC hDC=::GetDC(NULL); 
  15. //建立一紅色的畫(huà)筆 
  16. HPEN hPen =CreatePen(PS_INSIDEFRAME,6, RGB(255,0,0)); 
  17. //將繪圖模式設為R2_NOTXORPEN,在繪圖時(shí)可以不破壞原有的背景 
  18. int nMode =SetROP2(hDC, R2_NOTXORPEN); 
  19. HPEN hpenOld= (HPEN)SelectObject(hDC, hPen); 
  20. //得到鼠標所在處的窗口的區域 
  21. ::GetWindowRect(hwndCapture,&rectCapture); 
  22. //在鼠標所在處的窗口四周畫(huà)一紅色的矩形,做為選定時(shí)的提醒 
  23. POINT pt[5]; 
  24. pt[0] = CPoint(rectCapture.left, rectCapture.top); 
  25. pt[1] = CPoint(rectCapture.right,rectCapture.top); 
  26. pt[2] = CPoint(rectCapture.right,rectCapture.bottom); 
  27. pt[3] = CPoint(rectCapture.left, rectCapture.bottom); 
  28. pt[4] = CPoint(rectCapture.left, rectCapture.top); 
  29.  
  30. ::Polyline(hDC,pt,5);   
  31. //延時(shí)后再重繪紅色的矩形,這樣就不會(huì )破壞原有內容 
  32. Sleep(100); 
  33. ::Polyline(hDC,pt,5); 
  34. ::SelectObject(hDC,hpenOld); 
  35. ::ReleaseDC(NULL,hDC); 
  36.  
  37. }
  38.  
  39. CDialog::onMouseMove(nFlags, point); 
  40.  
  41. void CScreenCaptureDlg::OnLButtonUp(UINT nFlags, CPoint point) 
  42. //得到鼠標所在處的窗口的區域寬、高   
  43. int nWidth=rectCapture.Width(); 
  44. int nHeight=rectCapture.Height(); 
  45. HDC hdcScreen, hMemDC;   
  46. HBITMAP hBitmap, hOldBitmap;   
  47. //建立一個(gè)屏幕設備環(huán)境句柄 
  48. hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL); 
  49. hMemDC = CreateCompatibleDC(hdcScreen); 
  50. //建立一個(gè)與屏幕設備環(huán)境句柄兼容、與鼠標所在處的窗口的區域等大的位圖 
  51. hBitmap = CreateCompatibleBitmap(hdcScreen, nWidth, nHeight); 
  52. // 把新位圖選到內存設備描述表中 
  53. hOldBitmap =(HBITMAP)SelectObject(hMemDC, hBitmap); 
  54. // 把屏幕設備描述表拷貝到內存設備描述表中 
  55. BitBlt(hMemDC, 0, 0, nWidth, nHeight, hdcScreen,rectCapture.left
  56. ,rectCapture.top,SRCCOPY); 
  57. //取回鼠標所在處的窗口屏幕位圖的句柄 
  58. hBitmap =(HBITMAP)SelectObject(hMemDC, hOldBitmap); 
  59. DeleteDC(hdcScreen); 
  60. DeleteDC(hMemDC); 
  61.  
  62. // 返回位圖句柄 
  63. //打開(kāi)剪貼板,并將位圖拷到剪貼板上 
  64. OpenClipboard() ; 
  65. EmptyClipboard(); 
  66. SetClipboardData(CF_BITMAP, hBitmap); 
  67. //關(guān)閉剪貼板 
  68. CloseClipboard(); 
  69.  
  70. MessageBox("屏幕內容已經(jīng)拷到剪貼板上!"); 
  71. //終止鼠標捕獲 
  72. ReleaseCapture(); 
  73. //恢復窗口顯示模式 
  74. ShowWindow(SW_NORMAL); 

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
CreateCompatibleDC,CreateCompatibleBitmap,SelectObject詳解
我重繪了對話(huà)框的標題欄、邊框等。但有別的窗口在我對話(huà)框上面移動(dòng)時(shí),我重繪的對話(huà)框 刷新有點(diǎn)慢,有白色的殘影。是怎么回事?
關(guān)于memory device context內存設備上下文和位圖
今天在學(xué)習用內存DC畫(huà)圖,終于有了初步了解?,F將收集的關(guān)于內存DC介紹及其相關(guān)操作的資料貼出來(lái)共享一下。
截圖保存
窗口截圖(二)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久