怎样将另外一个应用程序窗口中的某个对象上的内容存储为图片? ( 积分: 200 )

  • 主题发起人 主题发起人 willyxia
  • 开始时间 开始时间
W

willyxia

Unregistered / Unconfirmed
GUEST, unregistred user!
比如当前windows开有一个其他应用程序的窗口(类名为TFormIS),在这个窗口上有一个类名为Panel的对象,并且panel对象上有一个图像,要求delphi写一个程序可以取出这个图像,无论这个窗口是否在当前窗口都可以取得该图像。
利用拷屏的方式,我可以取得该图像,但是如果该窗口当前不在最前端显示,取得得图像始终是最前端显示的窗口。
 
比如当前windows开有一个其他应用程序的窗口(类名为TFormIS),在这个窗口上有一个类名为Panel的对象,并且panel对象上有一个图像,要求delphi写一个程序可以取出这个图像,无论这个窗口是否在当前窗口都可以取得该图像。
利用拷屏的方式,我可以取得该图像,但是如果该窗口当前不在最前端显示,取得得图像始终是最前端显示的窗口。
 
1.拷屏前把FormIS窗体SetWindowPos到最前台来,拷屏之后再恢复其Z-Order
2.参考http://www.delphibbs.com/keylife/iblog_show.asp?xid=12219
前提:其他程序必须是Delphi编写。
由FormIS窗体句柄,取得其实例对象,然后遍历FormIS的Components组件列表,找到TImage组件对象,取得其Graphic图像即可。
 
已经搞定,方法是把FormIS窗口放到前台,拷屏后,再显示当前窗口
 
后退
顶部