मैंने पिछले धागे पर एक समान प्रश्न पूछा (https://stackoverflow.com/questions/5206633/java-find-out-what-application-window-is-in-focus) लेकिन मुझे जेएनआई का उपयोग करने के लिए निर्देशित किया गया था, और मुझे इसके साथ बहुत सफलता नहीं मिली है ... मैंने कुछ ट्यूटोरियल पढ़े हैं और कुछ ठीक काम करते हैं, अन्य लोग नहीं करते हैं मुझे अभी भी जानकारी की आवश्यकता नहीं है, जो अग्रभूमि पर खिड़की का शीर्षक है।GetForegroundWindow() प्राप्त करने के लिए जेएनए का उपयोग करना;
अब मैं जेएनए में देख रहा हूं लेकिन मुझे यह पता नहीं लगा सकता कि GetForegroundWindow() ... I लगता है एक बार मैं इस कोड का उपयोग करने के लिए खिड़की संभाल पाने मैं पाठ मुद्रित कर सकते हैं (एक और धागा पर पाया):?!
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));
}
}
कोई सुझाव धन्यवाद
त्वरित उत्तर के लिए धन्यवाद! मैं उस कोड को संकलित नहीं कर सकता, किसी कारण से, मैं com.sun.jna.platform.win32.WinDef.HWND आयात नहीं कर सकता; और एचडब्ल्यूएनडी GetForegroundWindow(); अमान्य लगता है। स्वाभाविक रूप से, मुझे इसे कॉल करने का प्रयास करने में त्रुटि भी मिलती है। क्या मुझे कुछ याद आ रहा है? –
@ डैनियल: आपका स्वागत है। काम किया? –
@ होवरक्राफ्ट फुल ऑफ़ ईल्स नहीं, मैंने दुर्घटना से जवाब बहुत जल्दी जमा कर दिया। अब यह पूरा जवाब है: पी –