我正在尝试打开现有的Word文档,并将MS Word窗口置于最前面。我使用了以下代码。
var app = new Application{ Visible = true};
app.Documents.Open(path);
app.Activate();
这会在word中打开文档,在我的Windows 7框中将word 2013带到前台。在运行Windows 8.1和Office 2010的最终用户计算机上,它会打开文档,但不会将Word带到前面。 Windows 8或Office 2010是否需要不同/缺少的步骤?
由于
答案 0 :(得分:0)
尝试Microsoft.VisualBasic.Interaction.AppActivate
Microsoft.VisualBasic.Interaction.AppActivate(app.Caption);
如果这不起作用,请尝试SetForegroundWindow
这样的API:
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll", SetLastError = true)]
static extern System.IntPtr FindWindow(string lpClassName, string lpWindowName);
private void ShowForeground(Word.Application app)
{
IntPtr handler = FindWindow(null, app.Caption);
SetForegroundWindow(handler);
}