问题描述
例如:windows打开了“计算器”这个软件,我也获取到这个“计算器”的窗口句柄,但是这个“计算器”窗口被最小化了,怎么能够获取到它的窗口截图?[DllImport("user32.dll")]publicstaticexternIntPtrGetWindowDC(IntPtrhwnd);publicBitmapGetWindow(IntPtrhWnd){IntPtrhscrdc=GetWindowDC(hWnd);varrect=Rectangle.Empty;varresult=GetWindowRect(hWnd,refrect);IntPtrhbitmap=CreateCompatibleBitmap(hscrdc,rect.Width,rect.Height);IntPtrhmemdc=CreateCompatibleDC(hscrdc);SelectObject(hmemdc,hbitmap);PrintWindow(hWnd,hmemdc,0);Bitmapbmp=Bitmap.FromHbitmap(hbitmap);DeleteDC(hscrdc);//删除用过的对象DeleteDC(hmemdc);//删除用过的对象returnbmp;}
这个程序有问题,“计算器”没有被最小化,得到的图像也是黑屏,如果被最小化,就报错了。我百度了一下,说是只要窗体的visable为false,请问如何做可以实现我的上述要求呢?
解决方案
解决方案二:
帮你顶吧,以前写过,忘记了。
时间: 2024-12-10 17:38:53