C# winform 窗体中抓取skype实时视频通话图像

sxl_88 2015-02-02 10:15:00
IntPtr ptrskypeWnd = API.FindWindow("tSkMainForm", null);
API.SetParent(ptrskypeWnd, this.panel1.Handle);
API.ShowWindow(ptrskypeWnd, WindowsApi.API.SW_MAXIMIZE);
以上的代码只能实现将Skype的视窗对象显示在form窗体的Panel控件中,但是如果要抓取双方通话过程中的实时图像的视频界面显示在form窗体的Panel控件中,请问怎么样抓取这个句柄的对象显示在Panel控件中。谢谢!
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxl_88 2015-02-02
  • 打赏
  • 举报
回复
我用句柄查看器找了下,貌似下面的这个对象(TLiveConversation): IntPtr subform = API.FindWindow("TLiveConversation", null); API.SetParent(ptrskypeWnd, this.panel1.Handle); API.ShowWindow(ptrskypeWnd, WindowsApi.API.SW_MAXIMIZE); 但是无法抓取双方通话过程中的实时图像的视频界面显示在form窗体的Panel控件中, 是不是句柄没有找正确,还是其它问题,请帮忙看看;
zixingcheng_ 2015-02-02
  • 打赏
  • 举报
回复
实时图像的视频界面 看你能否找到这个的句柄了,然后丢入pannel的方法一样。
sxl_88 2015-02-02
  • 打赏
  • 举报
回复
这种方式有可能影响系统的性能,且画面也不流畅。请问有更好的解决方案吗?
luopin102 2015-02-02
  • 打赏
  • 举报
回复
考虑 截图 然后弄个线程 循环刷新 public Bitmap PrtWindow(IntPtr hWnd2) { IntPtr hWnd = hWnd2; //FindWindowByCaption(IntPtr.Zero,fromname); RECT rect = new RECT(); IntPtr hscrdc = GetWindowDC(hWnd); GetWindowRect(hWnd,out rect); IntPtr hbitmap = CreateCompatibleBitmap(hscrdc, rect.Right - rect.Left, rect.Bottom - rect.Top); IntPtr hmemdc = CreateCompatibleDC(hscrdc); SelectObject(hmemdc, hbitmap); PrintWindow(hWnd, hmemdc, 0); Bitmap bmp = Bitmap.FromHbitmap(hbitmap); DeleteDC(hscrdc); DeleteDC(hmemdc); return bmp; }

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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