Ir para conteúdo
Fórum Script Brasil
  • 0

Executável como MdiChild


Wencesláu Pereira De Abreu Filho

Pergunta

O código abaixo somente funciona com o notepad.exe

Os demais executáveis (Calculadora, Word e Excel), abrem fora do formulário pai.

Que posso fazer para que qualquer executável rode dentro dos limites do MdiContainer?

Desde já, agradeço qualquer ajuda!

Public Class Form1

    Dim myProcess As Process = New Process()
    Public WithEvents Btn As Button = New System.Windows.Forms.Button
    Public Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As System.IntPtr

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        WindowState = FormWindowState.Maximized
        Text = "Executável Mdi Child"
        IsMdiContainer = True
        Btn.Location = New System.Drawing.Point(20, 20)
        Btn.Name = "Btn"
        Btn.Size = New System.Drawing.Size(100, 30)
        Btn.TabIndex = 1
        Btn.Text = " Abre executável "
        Btn.UseVisualStyleBackColor = True
        Controls.Add(Me.Btn)
        myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
        myProcess.StartInfo.FileName = "C:\Windows\notepad.exe"
        'myProcess.StartInfo.FileName = "C:\Windows\System32\calc.exe"
        'myProcess.StartInfo.FileName = "C:\Program Files (x86)\Microsoft Office\Office12\WinWord.exe"
        'myProcess.StartInfo.FileName = "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE"
    End Sub

    Private Sub Btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn.Click
        myProcess.Start()
        myProcess.WaitForInputIdle()
        SetParent(myProcess.MainWindowHandle, Me.Handle)
    End Sub
End Class

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...