如何获取GTK小部件或容器的窗口句柄?

如何获取GTK小部件或容器的窗口句柄?,gtk,gtk#,libvlc,hwnd,gdk,Gtk,Gtk#,Libvlc,Hwnd,Gdk,我在GTK#(Xamarin)中使用libvlc_media_player_set_hwnd()函数。但我无法获取GTK widget的HWND并将其设置在libvlc_media_player_set_HWND()函数中。 在GTK+中,我可以使用gdk_x11_drawable_get_xid(),但在GTK中没有找到此函数 因此,如何在所需的窗口/容器/小部件中获取小部件的HWND或使用此函数作为输出介质?您始终可以从库中手动导入gdk_x11_drawable_get_xid(): [S

我在GTK#(Xamarin)中使用libvlc_media_player_set_hwnd()函数。但我无法获取GTK widget的HWND并将其设置在libvlc_media_player_set_HWND()函数中。 在GTK+中,我可以使用gdk_x11_drawable_get_xid(),但在GTK中没有找到此函数


因此,如何在所需的窗口/容器/小部件中获取小部件的HWND或使用此函数作为输出介质?

您始终可以从库中手动导入gdk_x11_drawable_get_xid():

[SuppressUnmanagedCodeSecurity, DllImport(GDK_X11_LIB)]
public static extern IntPtr gdk_x11_drawable_get_xid(IntPtr gdkDisplay);

其中,GDK_X11_LIB是一个字符串,包含您的GDK-X11库。对于GTK 2.0,GDK_X11_LIB在GNU/Linux上是“libgdk-X11-2.0.so”。

GDK_X11_drawable_get_xid
是用于gdk2的,gdk3有解决方案吗?