当前位置: 代码迷 >> C# >> WPF获取窗口句柄,初始化的时分需要提供窗口的句柄
  详细解决方案

WPF获取窗口句柄,初始化的时分需要提供窗口的句柄

热度:665   发布时间:2016-05-05 05:31:48.0
WPF获取窗口句柄,初始化的时候需要提供窗口的句柄
            WindowInteropHelper wndHelper = new WindowInteropHelper(this);

            handle = wndHelper.Handle;
我从网上搜的,都说这个是获取窗口的句柄。但是为什么程序运行时handle的值是0。有个回答说是在loaded事件中获取句柄。
this.Loaded+=Win_Load(oject e ,event e)
{
 //在这里写你刚才那3个代码
}
请问:
1、loaded事件中获取句柄是这样吗?
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            WindowInteropHelper wndHelper = new WindowInteropHelper(this);

            handle = wndHelper.Handle;
        }
 我这样做了,但是运行时,        
  public MainWindow()
        {
            InitializeComponent();

            //this.Loaded += Window_Loaded(object sender, RoutedEventArgs e);
            //IntPtr handle = new WindowInteropHelper(this).Handle;
            Camera.Camera_Init(ref handle);      
        }
handle的值还是0。
我该如何修改代码吗?是我哪里没有理解到位?
请大神帮忙解惑,最好能付个正确的代码。
------解决思路----------------------
try..
private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            WindowInteropHelper wndHelper = new WindowInteropHelper(this);
            handle = wndHelper.Handle;
            Camera.Camera_Init(ref handle);      
        }
       
  public MainWindow()
        {
            InitializeComponent();
            this.Loaded += Window_Loaded(object sender, RoutedEventArgs e);
        }
------解决思路----------------------
this.Loaded += Window_Loaded;
  相关解决方案