Ausführen einer anderen Anwendung in einer Bilderbox
Dies ist der Beispielcode, mit dem ich eine andere Anwendung in einer Bildbox ausgeführt habe:
Imports System.Diagnostics
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("user32.dll")> Public Shared Function SetParent(ByVal hwndChild As IntPtr, ByVal hwndNewParent As IntPtr) As Integer
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Process1 As New Process
Process1.StartInfo.FileName = "notepad.exe"
Process1.Start()
Do Until Process1.WaitForInputIdle = True
Application.DoEvents()
Loop
SetParent(Process1.MainWindowHandle, PictureBox1.Handle)
End Sub
End Class
Auf diese Weise konnte ich eine andere Anwendung in meinem VB2010-WindowsForm hosten und sie funktioniert einwandfrei. Das Problem ist jedoch, dass Windows 7 nach der Erlaubnis fragt (ob die EXE-Datei ausgeführt werden soll oder nicht). Nach dem Klicken auf die Schaltfläche "Zulassen" öffnet sich die exe-Anwendung in einem eigenen Fenster und nicht als untergeordnetes Element der PictureBox
Ich denke, wenn Windows nach der Erlaubnis fragt, überspringt es den SetParent () API-Aufruf. Anregungen schätze ich sehr.
Vielen Dank :)