在用户窗体中打开应用程序

Scott Beeson曾经在这里发布了以下代码来激发用户表单中的应用程序:

Public Class Form1 Declare Auto Function SetParent Lib "user32.dll" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Integer Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer Private Const WM_SYSCOMMAND As Integer = 274 Private Const SC_MAXIMIZE As Integer = 61488 Dim proc As Process Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load proc = Process.Start("C:\WINDOWS\notepad.exe") proc.WaitForInputIdle() SetParent(proc.MainWindowHandle, Panel1.Handle) SendMessage(proc.MainWindowHandle, WM_SYSCOMMAND, SC_MAXIMIZE, 0) Me.BringToFront() End Sub End Class 

所以我试图启动Excel2007,它的工作,虽然并不总是稳定。 但Excel2010不会在用户窗体中打开,只是正常的方式。 我有两个问题:

1)有没有人可能有一个想法如何使XL2010与这个工作?

2)任何想法如何在WPF主窗口中编码? “Panel1.Handle”似乎没有退出…