通过使用x11-api和Mono / C#了解活动窗口

问题描述 投票:1回答:1

我正在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正常工作。怎么了?

c# ubuntu mono x11
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.