在C#中获取窗口句柄

Adi*_*Adi 24 c# windows wpf

我声明了以下类:

public partial class MainWindow : Window
Run Code Online (Sandbox Code Playgroud)

一旦窗口有窗口,我需要得到窗口的实际句柄.我怎么能这样做,我应该在哪里放置查询功能.

我到目前为止尝试的是:

IntPtr hwnd = new WindowInteropHelper(this).Handle;
Run Code Online (Sandbox Code Playgroud)

但我得到的句柄是0,这可能是因为它是在OnInitialized中种植的 - 也许窗口还没有准备好在那个阶段.并且,是的 - 它通过WPF连接,谢谢你指出它!

谢谢

Ste*_*tin 26

在该OnInitialized方法中,尚未创建句柄.但是你走在正确的轨道上.如果您在Loaded事件中调用了句柄,则应该返回正确的句柄.


Nir*_*Nir 6

OnSourceInitialized是你能获得最早处理的地方