等效于 C# 句柄指针的 JFrame
JFrame equivalent for C# handle pointer
我目前正在尝试将代码从 C# 移植到 java。在 C# 代码中,panel.handle 部分 returns 是当前面板的一个 intptr。然后将 intptr 传递给 DLL 方法。 C#代码如下:
IntPtr 句柄 = Panel1.Handle;
必须使用相同的 DLL。我找到了一些使用 Win32 和 JNI 的东西,但我不明白如何使用它。有谁知道java挥杆相当于这个方法吗?
感谢评论中的 link 和其他一些研究,我设法找到了与 C# 中的句柄 属性 等效的东西。这是我对面临同样问题的任何人所做的:
import javax.swing.*;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.WinDef.HWND;
public class main {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
final HWND hwnd = new HWND(Native.getComponentPointer(jFrame));
System.out.println(hwnd);
}
}
请注意,这仅适用于 windows 台机器,因为只有 windows 具有一切都是 window 的概念,并且每个 window 都有一个句柄。
我目前正在尝试将代码从 C# 移植到 java。在 C# 代码中,panel.handle 部分 returns 是当前面板的一个 intptr。然后将 intptr 传递给 DLL 方法。 C#代码如下:
IntPtr 句柄 = Panel1.Handle;
必须使用相同的 DLL。我找到了一些使用 Win32 和 JNI 的东西,但我不明白如何使用它。有谁知道java挥杆相当于这个方法吗?
感谢评论中的 link 和其他一些研究,我设法找到了与 C# 中的句柄 属性 等效的东西。这是我对面临同样问题的任何人所做的:
import javax.swing.*;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.WinDef.HWND;
public class main {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
final HWND hwnd = new HWND(Native.getComponentPointer(jFrame));
System.out.println(hwnd);
}
}
请注意,这仅适用于 windows 台机器,因为只有 windows 具有一切都是 window 的概念,并且每个 window 都有一个句柄。