Search code examples
javajnauser32

Java JNA FindWindow() - Error looking up function 'FindWindow': The specified procedure could not be found


I'm trying to bring to front a window named MyWindowTitle, using JNA.

import com.sun.jna.Native;
import com.sun.jna.win32.StdCallLibrary;
import com.sun.jna.platform.win32.WinDef.HWND;

public class ToFront {

public static interface User32 extends StdCallLibrary {
    final User32 instance = (User32) Native.loadLibrary ("user32", User32.class);
    HWND FindWindow(String winClass, String title); 
    boolean ShowWindow(HWND hWnd, int nCmdShow);
    boolean SetForegroundWindow(HWND hWnd);

}


public static void main(String[] args) {
    HWND hwnd = User32.instance.FindWindow(null, "MyWindowTitle"); 
    User32.instance.ShowWindow(hwnd, 9); 
    User32.instance.SetForegroundWindow(hwnd); 
}

}

I'm getting the following exception java.lang.UnsatisfiedLinkError: Error looking up function 'FindWindow': The specified procedure could not be found.


Solution

  • Check the spelling of your function. You can use dependency walker to see if that function exists in your dll.

    Ps : when I opened user32.dll those are the functions I found

    :FindWindowA,FindWindowExA,FindWindowExW,FindWindowW