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;