请教高手,如何解决。
我的问题和
http://bbs.csdn.net/topics/390382009?page=1#post-393820469
这个帖子里的问题是一模一样的,看到最后说他用setredrew解决了。可是我没搞懂怎么用 setrefrew,对我要截屏的窗口禁制redrew么?我的程序里,有一个timer,每隔一秒,就去printwindow特定句柄的窗口屏幕
另外,在我的笔记本win8.1里,这段代码printwindow没有任何问题,好得很,每隔一秒都能截取到,但是跑到一台windows7的机器上,就出现了上述问题
也不是截取不到,是截取很多次后,才有一次截取到。肯请解答!
我的问题和
http://bbs.csdn.net/topics/390382009?page=1#post-393820469
这个帖子里的问题是一模一样的,看到最后说他用setredrew解决了。可是我没搞懂怎么用 setrefrew,对我要截屏的窗口禁制redrew么?我的程序里,有一个timer,每隔一秒,就去printwindow特定句柄的窗口屏幕
另外,在我的笔记本win8.1里,这段代码printwindow没有任何问题,好得很,每隔一秒都能截取到,但是跑到一台windows7的机器上,就出现了上述问题
也不是截取不到,是截取很多次后,才有一次截取到。肯请解答!
解决方案 »
- winfrom中DataGridView导出Excel问题(0x800A03EC)
- winform MDI模式 子窗体显示不出来?
- 科技服务于生活,那么我们还缺点什么?
- 改别人做的程序时,现两个相同文件project_manager.cs和Project_Manager.cs是怎么回事
- 后台脚本的问题
- 怎样同时创建若干个特殊格式的数组?
- !急!]附加成功的数据库无法在vs中连接。求解决!
- 大家帮忙一下!
- 怎样将使dll文件带有强名
- lock的过程中出现异常后,别的程序还能进入到lock中来吗?
- 用c#开发高级版本的Notepad++++++
- AForge.NET中如何去配置视频亮度对比度等参数?
{
IntPtr hscrdc = GetWindowDC(hWnd);
//Control control = Control.FromHandle(hWnd);
IntPtr hbitmap = CreateCompatibleBitmap(hscrdc, 1024, 768); //游戏窗口是 1024*768 的
IntPtr hmemdc = CreateCompatibleDC(hscrdc);
SelectObject(hmemdc, hbitmap); SendMessage(hWnd, WM_SETREDRAW, FALSE, 0); bool re = PrintWindow(hWnd, hmemdc, 0);
Bitmap bmp = null;
if (re)
{
bmp = Bitmap.FromHbitmap(hbitmap);
} SendMessage(hWnd, WM_SETREDRAW, TRUE, 0);
DeleteObject(hbitmap);
DeleteDC(hmemdc);
ReleaseDC(hWnd, hscrdc);
return bmp;
}