寻找截屏最快的算法,谁的快,给谁分哦。如题。
解决方案 »
- 控制台程序能不能收到键盘消息?
- 2008 class desing 我怎么没看见, 怎么用哦?
- HANDLE类型和HDC类型的区分。
- 请问有没有什么办法不用timer,在OnInitDialog完毕后立即发生的方法?
- 文件对话框如何打开多个文件?
- 关于SOCKET多连接的一个问题!
- 几个简单函数的问题(特急)
- 同样一套代码,我想在编译时指定我的资源是中文编译出来的程序就是中文版的,如果指定资源是英文,编译出来的就是英文版。主要表现在菜单
- 关于CTreeCtrl的问题,请进!
- 怎样打开Windows address book?
- Winsock异步事件通知模型WSAAsyncSelect必须要创建窗口才行,有没有类似功能函数不用创建窗口?
- 如何改变ListCtrl线条的风格,比如选中的项目线条加粗?
http://www.codeproject.com/KB/dialog/screencap.aspx
目前我最快的方法是
int nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
int nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
HWND hDesktopWnd = GetDesktopWindow();
HDC hDesktopDC = GetDC(hDesktopWnd);
HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
HBITMAP hCaptureBitmap =CreateCompatibleBitmap(hDesktopDC, nScreenWidth, nScreenHeight);
SelectObject(hCaptureDC,hCaptureBitmap);
BitBlt(hCaptureDC,0,0,nScreenWidth,nScreenHeight,hDesktopDC,0,0,SRCCOPY);
//save();
100次循环355.469ms
这个数是不包括保存代码的。