我试图在Ubuntu上使用X11-api和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-functions正常工作。 怎么了?
答案 0 :(得分:0)
尝试一下:
[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);