想截某个指定窗口的屏,如果窗口被挡住怎么办?

qwertxp 2006-03-23 05:53:39
有没有办法可以截被挡住了的窗口屏幕内容?郁闷ing...
...全文
116 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwertxp 2006-03-30
  • 打赏
  • 举报
回复
闷。。。结论是没可能嘛。。。
qwertxp 2006-03-24
  • 打赏
  • 举报
回复
昏,到底是可能还是不可能啊。。。
提供点思路啊~~~~~~
firmbird 2006-03-24
  • 打赏
  • 举报
回复
只要能获得目标窗体的句柄应该就可以
kuanghong 2006-03-24
  • 打赏
  • 举报
回复
应该可能的(除非最小话了),ms的taskswitch.exe就可以的
chenjuaxuan 2006-03-24
  • 打赏
  • 举报
回复
不可能地
firmbird 2006-03-24
  • 打赏
  • 举报
回复
hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL);
hdcCompatible = CreateCompatibleDC(hdcScreen);

// Create a compatible bitmap for hdcScreen.

hbmScreen = CreateCompatibleBitmap(hdcScreen,
GetDeviceCaps(hdcScreen, HORZRES),
GetDeviceCaps(hdcScreen, VERTRES));

if (hbmScreen == 0)
errhandler("hbmScreen", hwnd);

// Select the bitmaps into the compatible DC.

if (!SelectObject(hdcCompatible, hbmScreen))
errhandler("Compatible Bitmap Selection", hwnd);

// Hide the application window.

ShowWindow(hwnd, SW_HIDE);

//Copy color data for the entire display into a
//bitmap that is selected into a compatible DC.

if (!BitBlt(hdcCompatible,
0,0,
bmp.bmWidth, bmp.bmHeight,
hdcScreen,
0,0,
SRCCOPY))

errhandler("Screen to Compat Blt Failed", hwnd);

// Redraw the application window.

ShowWindow(hwnd, SW_SHOW);

自己看一下CreateDC这个API函数的参数含义,改一下就行了
firmbird 2006-03-24
  • 打赏
  • 举报
回复
截屏无非是把窗体对应的显示设备块内容复制一下嘛
rageliu 2006-03-23
  • 打赏
  • 举报
回复
基本不可能....
如何设置让一个窗口总在最前(Exaware OnTop和PushPin)软件下载 Windows中打开一个新窗口或切换任务时,原有的活动窗口就会被它所覆盖。不过,像Winamp等软件,却有一个能让自己的操作窗口总在最前的功能,非常实用。其实,只要你安装了像ExaWare OnTop和PushPin这样的免费小软件,也一样可以让任意Windows操作窗口总在最前面,不让其他的窗口挡住它! 1.好用的ExaWare OnTop 下载并安装该软件后,双击桌面上的ExaWare OnTop 图标启动程序,我们看不到它的任何窗口界面,但在系统托盘上可以发现它的图标。单击该图标会弹出一个菜单,在这里列出了当前系统中所有窗口的标题。要想让某个窗口总在最前面,只要将鼠标移到相应的窗口标题项并点击鼠标(左右键均可)即可,如图所示。单击后该窗口标题前面的图标也相应地多了一个方框(如果没有图标则会显示一个对勾),表明该窗口已经设置成功。这时打开该窗口,再打开其他程序窗口,看看它是否一直总在其他窗口的前面而不被遮住?怎么样,是不是有种高高在上的感觉?要想取消 OnTop 状态,只要重复一遍上面的操作就可以了。 看到这里你是不是有一个疑问:如果同时将两个窗口设置为总在最前(Always OnTop)的状态,那将会发生什么事情呢?其实也很简单,如果两个(或多个)窗口同时处于总在最前的状态,那说明它们的地位平等,这时先激活谁谁就在最上面(和设置前一样看待)。另外还有一个问题需要注意:如果需要退出该软件,建议点击系统托盘上的软件图标并选择菜单中的“Exit and Restore”命令,这样在退出软件的同时可以恢复各个窗口的原始状态,以免给使用带来不便。 2.小巧的PushPin 相对于ExaWare OnTop 来说,PushPin 的体积更为小巧,只有区区的22KB 下载得到的是一个压缩包,由于它是一款绿色软件,我们只要直接将该压缩包解压缩到某个指定的目录下即可运行(主程序文件名为Pushpin.exe),同样看不到主程序窗口,只会发现系统托盘处多了一个图标。要想让某个操作窗口总在最前面,只要在其标题栏上(在任务栏按钮上也可)单击鼠标右键并从弹出的菜单中选择“Always on top”命令即可。要退出程序只需用鼠标右击系统托盘上的软件图标,并从弹出的菜单中选择“Remove”命令即可

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧