使用x11API和Mono/C#了解活动窗口
本文关键字:了解 活动 窗口 x11API Mono 使用 | 更新日期: 2023-09-27 18:25:33
我正在尝试在Ubuntu上使用X11api与Mono和C#。当我试图了解活动窗口时,我有一个SIGSEGV。
导入:
[DllImport("libX11")]
public static extern void XGetInputFocus(IntPtr display, IntPtr focus_return, int revert_to_return);
[DllImport("libX11")]
public static extern IntPtr XOpenDisplay(string display_name);
使用:
IntPtr rootWind = XOpenDisplay(null);
IntPtr wind;
int ret = 0;
XGetInputFocus(rootWind, wind, ret); //SIGSEGV there
我尝试过使用指针、引用和其他一些方法,但只有一个结果。其他一些api函数工作正常。怎么了?
试试这个:
[DllImport("libX11")]
public static extern void XGetInputFocus(IntPtr display, ref IntPtr focus_return, ref int revert_to_return);
IntPtr rootWind = XOpenDisplay(null);
IntPtr wind;
int ret = 0;
XGetInputFocus(rootWind, ref wind, ref ret);