本文介绍了Java JNA FindWindow()-查找函数'FindWindow'时出错:找不到指定的过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用JNA
来显示一个名为MyWindowTitle
的窗口.
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);
}
}
我收到以下异常java.lang.UnsatisfiedLinkError: Error looking up function 'FindWindow': The specified procedure could not be found.
推荐答案
检查函数的拼写.您可以使用依赖关系遍历器来查看该函数是否存在于dll中.
Check the spelling of your function. You can use dependency walker to see if that function exists in your dll.
Ps:当我打开user32.dll时,这些就是我发现的功能
Ps : when I opened user32.dll those are the functions I found
:FindWindowA,FindWindowExA,FindWindowExW,FindWindowW
这篇关于Java JNA FindWindow()-查找函数'FindWindow'时出错:找不到指定的过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!