phoenix8956 2015-10-15 02:57 采纳率: 16.7%
浏览 1494

我写的这个截全屏函数有什么问题

HBITMAP LYGetScreen()
{
HWND hwin;
HDC dc,memdc;
HBITMAP hbitm;
RECT rect;
int cx,cy;//桌面大小
hwin=GetDesktopWindow();//获取桌面窗口句柄
dc=GetWindowDC(NULL);//获取桌面窗口DC
GetWindowRect(hwin,&rect);//获取桌面窗口大小
cx=rect.right-rect.left;
cy=rect.bottom-rect.top;
memdc=CreateCompatibleDC(dc);//创建与桌面窗口DC相适应的内存DC
hbitm=CreateCompatibleBitmap(dc,cx,cy);//创建相适应的位图
SelectObject(memdc, hbitm);//将新建的位图选入内存DC中
BitBlt(memdc,0,0,cx,cy,dc,0,0,SRCCOPY);//复制屏幕到memdc中
return hbitm;
}

  • 写回答

1条回答 默认 最新

  • 纵横车 2015-10-15 04:23
    关注

    觉得没问题呀,除了有些dc对象需要delete。

    评论

报告相同问题?

悬赏问题

  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块