【发布时间】:2014-03-24 14:24:06
【问题描述】:
我正在尝试使用JNA 将名为MyWindowTitle 的窗口置于前面。
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);
}
}
我收到以下异常java.lang.UnsatisfiedLinkError: Error looking up function 'FindWindow': The specified procedure could not be found.
【问题讨论】:
-
JNA 附带标准窗口函数的定义。看看
com.sun.jna.platform.win32.User32。您可以使用他们的定义,或者如果您更喜欢使用自己的定义,您可以查看您的设置与他们的设置有何不同。