Executando outro aplicativo dentro de um picturebox
Este é o código de exemplo que usei para executar outro aplicativo dentro de uma caixa de figuras:
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
Assim, eu era capaz de hospedar outro aplicativo dentro do meu VB2010 WindowsForm e funciona bem. Mas o problema é que, no Windows 7, o Windows pedia a permissão (se você deseja permitir que o EXE seja executado ou não). Depois de clicar no botão "Permitir", o aplicativo exe abriria em sua própria janela em vez de como um filho da PictureBox
Eu acho que quando o Windows pede a permissão, ele está ignorando a chamada da API SetParent (). Eu realmente aprecio todas as sugestões.
Obrigado :)