使用ComfyJ将MS Word应用程序带到前端

时间:2011-02-18 16:17:18

标签: java ms-word java-native-interface com-interop

我正在使用ComfyJ 2.7尝试在Windows 7上的MS Word 2007中打开一个新的Word文档。我已创建word文档并保存它,但应用程序在任务栏中保持最小化。

我尝试在应用程序上使用以下调用来尝试激活窗口并使其脱颖而出。

app.activate();
app.getActiveWindow().activate();
app.getActiveDocument().activate();

App.activate似乎使应用程序请求它移动到前面,因为任务栏项目开始闪烁,但它没有将单词应用程序放在首位。

有没有人能够使用comfyJ成功地与MS Word互动?

2 个答案:

答案 0 :(得分:0)

你试过

吗?
 app.GetActiveDocument().ActiveWindow.WindowState

属性?

如果任务栏刚刚闪烁,则听起来可能文档正在最小化。您可能只需要将windowstate设置为normal。

答案 1 :(得分:0)

问题实际上是由Windows 7中的新焦点规则引起的。 应用程序不能强迫自己的其他窗口成为焦点,它们只能通知他们想要焦点。