0

我目前正在开发一个 Java 项目,我们必须使用其他人创建的头像。这个头像是一个图形可执行文件。它通过 xmlrpc 与 Java 应用程序通信。

我希望能够在我的 Java 应用程序中运行(嵌入)这个可执行文件。我不只是想执行可执行文件,我希望它在 Java 应用程序中实际可见。

我知道这种行为在 C#(进程类)中是可能的,所以我想知道:这在 Java 中也可能吗?

应用程序中的头像必须是可扩展的。

4

1 回答 1

2

C#您给出的示例使用Win32 API 技巧,用于SetParent将正在运行的嵌入式可执行文件的主窗口的父窗口从desktop window更改为新创建的控件。为此,您需要:

  • 创建一个WinAPI Window 控件以包含您的嵌入式可执行文件
  • 有权访问Windows API以获取正在运行的 .exe 主窗口的句柄
  • 有权访问要使用的Windows APISetParent

问题是您无权访问 Java 中的 Windows API。甚至使用JNAJNI之类的东西也不容易做到,因为您无法直接访问由 JVM 创建的WinAPI Window 控件(使用一些未记录的特定于 Windows 的 Sun API 除外)。

于 2013-05-03T12:18:15.020 回答