C# 窗口、控件句柄操作

    最近在程序中需要用到摄像头以及视频的展示和播放,大多数SDK运用的窗口和句柄,在winform程序中很简单,直接要用到的元素或者控件点handle就行了,但是由于winform的界面实在的跟wpf比起来,真的后者要好很多,因此能不能也在wpf中操作了,为此我度娘了下!

   其实在wpf下操作也很简单,不过稍微要麻烦点:

引入命名空间:System.Windows.Interop

获取窗体的——IntPtr hwnd = new WindowInteropHelper(this).Handle;

获取控件的—— IntPtr hwnd = ((HwndSource)PresentationSource.FromVisual(uielement)).Handle;

因为WPF是画出来的,所以以上无论是用哪一种都是只能获得窗体的句柄,并不能获取到具体某个控件的。

所以在实际使用的时候常用windowformhost来操作,这样操作更加得心应手!

以下是WPF中嵌入winform操作句柄的方法:

在wpf中添加控件:

         < WindowsFormsHost  >
             < wf:PictureBox  x:Name = "RealPlayWnd" ></ wf:PictureBox >
         </ WindowsFormsHost >
然后再程序中使用: var hPlayWnd = RealPlayWnd.Handle;


  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值