vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Prozess starten und in eigene Anwendung einbinden 
Autor: Manfred X
Datum: 25.04.14 17:55

Imports System.Diagnostics
 
Public Class frmtest4
 
    'benötigte APIs
    Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As  _
      IntPtr, ByVal hWndNewParent As IntPtr) As IntPtr
 
    Private Declare Function ShowWindow Lib "user32.dll" (ByVal hWnd As _
      Integer, _
      ByVal flag As Integer) As IntPtr
 
    Public Declare Function MoveWindow Lib "user32" (ByVal hWnd As IntPtr, _
            ByVal x As Integer, ByVal y As Integer, _
            ByVal nWidth As Integer, ByVal nHeight As Integer, _
            ByVal bRepaint As Boolean) As Boolean
 
    ' Activate an application window. 
    Declare Auto Function SetForegroundWindow Lib "USER32.DLL" _
        (ByVal hWnd As IntPtr) As Boolean
 
    'ShowWindow-Konstanten
    Private Const SW_NORMAL As Integer = 1
 
    'ProzessID des eingebetteten fensters merken
    Private intProgrammID As Integer
 
    Dim tc As New TabControl With {.Parent = Me, .Width = 600, .Height = 650}
 
    Private Sub frmtest4_Load(sender As System.Object, _
                              e As System.EventArgs) Handles MyBase.Load
 
        Me.Width = 650 : Me.Height = 680
        tc.TabPages.Add("Test")
        Starten()
    End Sub
 
    Private Sub Starten()
 
        Dim handle As IntPtr
        StartProgramm("cmd.exe", tc.TabPages(0), intProgrammID, Handle)
 
        If Not SetForegroundWindow(handle) Then Stop
 
        SendKeys.Send("Color f0")
        SendKeys.Send("{Enter}")
 
        Dim direc As String = _
           My.Computer.FileSystem.SpecialDirectories.MyPictures
 
        SendKeys.Send("Cd " & direc)
        SendKeys.Send("{Enter}") 
    End Sub
 
    Public Sub StartProgramm(ByVal Programm As String, ByVal Seite As TabPage, _
      ByRef ProgrammID As Integer, ByRef procHandle As IntPtr)
 
        Dim psi As New ProcessStartInfo
        With psi
            .FileName = Programm
        End With
 
        Dim p As Process = Process.Start(psi)
        Threading.Thread.Sleep(1000)
        procHandle = p.MainWindowHandle
        ProgrammID = p.Id
 
        'DOS-Box in Tabpage einbetten
        SetParent(procHandle, Seite.Handle)
 
        'WindowState der DOS-Box auf "normal" setzen
        ShowWindow(CInt(procHandle), SW_NORMAL)
 
        'DOS-Box auf TabPage zentrieren
        Dim mw As Boolean = _
             MoveWindow(procHandle, 0, 0, Seite.Width, Seite.Height, True)
    End Sub
End Class


Beitrag wurde zuletzt am 25.04.14 um 18:02:48 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Prozess starten und in eigene Anwendung einbinden7.872Marcus W13.01.14 21:09
Re: Prozess starten und in eigene Anwendung einbinden5.661killroy13.01.14 22:45
Re: Prozess starten und in eigene Anwendung einbinden5.652Marcus W14.01.14 19:38
Re: Prozess starten und in eigene Anwendung einbinden5.827Marcus W18.01.14 18:33
Re: Prozess starten und in eigene Anwendung einbinden5.670killroy20.01.14 13:13
Re: Prozess starten und in eigene Anwendung einbinden5.616Manfred X20.01.14 15:26
Re: Prozess starten und in eigene Anwendung einbinden5.505killroy20.01.14 22:45
Re: Prozess starten und in eigene Anwendung einbinden5.360catweazle2k324.04.14 13:41
Re: Prozess starten und in eigene Anwendung einbinden5.447Manfred X24.04.14 13:55
Re: Prozess starten und in eigene Anwendung einbinden5.487catweazle2k324.04.14 14:12
Re: Prozess starten und in eigene Anwendung einbinden5.376Marcus W24.04.14 14:12
Re: Prozess starten und in eigene Anwendung einbinden5.675Manfred X24.04.14 14:27
Re: Prozess starten und in eigene Anwendung einbinden5.366catweazle2k324.04.14 14:34
Re: Prozess starten und in eigene Anwendung einbinden5.528Manfred X24.04.14 14:43
Re: Prozess starten und in eigene Anwendung einbinden5.573catweazle2k324.04.14 15:01
Re: Prozess starten und in eigene Anwendung einbinden5.405powerzone300024.04.14 15:11
Re: Prozess starten und in eigene Anwendung einbinden5.325catweazle2k324.04.14 15:55
Re: Prozess starten und in eigene Anwendung einbinden5.348catweazle2k325.04.14 12:18
Re: Prozess starten und in eigene Anwendung einbinden5.339killroy25.04.14 12:45
Re: Prozess starten und in eigene Anwendung einbinden5.390Manfred X25.04.14 13:42
Re: Prozess starten und in eigene Anwendung einbinden5.493catweazle2k325.04.14 13:51
Re: Prozess starten und in eigene Anwendung einbinden5.425Manfred X25.04.14 14:06
Re: Prozess starten und in eigene Anwendung einbinden5.272catweazle2k325.04.14 14:18
Re: Prozess starten und in eigene Anwendung einbinden5.546Manfred X25.04.14 14:44
Re: Prozess starten und in eigene Anwendung einbinden5.295catweazle2k325.04.14 14:57
Re: Prozess starten und in eigene Anwendung einbinden5.264Manfred X25.04.14 15:30
Re: Prozess starten und in eigene Anwendung einbinden5.299catweazle2k325.04.14 15:50
Re: Prozess starten und in eigene Anwendung einbinden5.335Manfred X25.04.14 15:53
Re: Prozess starten und in eigene Anwendung einbinden5.318catweazle2k325.04.14 15:58
Re: Prozess starten und in eigene Anwendung einbinden5.449Manfred X25.04.14 16:06
Re: Prozess starten und in eigene Anwendung einbinden5.373catweazle2k325.04.14 16:10
Re: Prozess starten und in eigene Anwendung einbinden5.534Manfred X25.04.14 16:24
Re: Prozess starten und in eigene Anwendung einbinden5.604catweazle2k325.04.14 16:46
Re: Prozess starten und in eigene Anwendung einbinden5.355Manfred X25.04.14 17:02
Re: Prozess starten und in eigene Anwendung einbinden5.739Manfred X25.04.14 17:55
Re: Prozess starten und in eigene Anwendung einbinden5.382catweazle2k309.07.14 14:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel