Я задал похожий вопрос в предыдущей теме (/4381173/uznaite-kakoe-prilozhenie-okno-nahoditsya-v-fokuse-v-java), но мне порекомендовали использовать JNI, и я не добился большого успеха с ним ... Я прочитал некоторые учебные пособия, и хотя некоторые работаютхорошо, другие не могут, я до сих пор не могу получить нужную мне информацию, которая является заголовком окна на переднем плане.
Сейчас я смотрю в JNA, но не могу понять, какполучить доступ к GetForegroundWindow () ... Я думаю, что смогу напечатать текст, как только получу дескриптор окна, используя этот код (найден в другой теме):
import com.sun.jna.*;
import com.sun.jna.win32.*;
public class jnatest {
public interface User32 extends StdCallLibrary {
User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);
int GetWindowTextA(PointerType hWnd, byte[] lpString, int nMaxCount);
}
public static void main(){
byte[] windowText = new byte[512];
PointerType hwnd = //GetForegroundWindow() (?)...
User32.INSTANCE.GetWindowTextA(hwnd, windowText, 512);
System.out.println(Native.toString(windowText));
}
}
Есть предложения? Спасибо!