vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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 - Fortgeschrittene
Re: Fremdes Fenster als Child einbinden 
Autor: Haegar75
Datum: 08.04.10 21:05

Hi,
ich weiß nicht ob es besonders elegant ist, aber es funktioniert:

Globals:
    Declare Function SetParent Lib "user32" (ByVal hWndChild As IntPtr, ByVal _
      hWndNewParent As IntPtr) As IntPtr
    Declare Function SetWindowPos Lib "user32" (ByVal hwnd As IntPtr, ByVal _
    hWndInsertAfter As Int32, ByVal x As Int32, _
                     ByVal y As Int32, ByVal cx As Int32, ByVal cy As Int32, _
                     ByVal wFlags As Int32) As Int32
 
    Declare Function ShowWindow Lib "user32" (ByVal hWnd As IntPtr, ByVal _
    nCmdShow As Int32) As Boolean
    Declare Function GetForegroundWindow Lib "user32" () As IntPtr
    Const SW_MAXIMIZE As Int32 = 3
    Const GWL_STYLE As Int32 = -16
 
 
    Declare Auto Function SetWindowLong Lib "user32" (ByVal hWnd As IntPtr, _
     ByVal nIndex As Int32, ByVal dwNewLong As Int32) As IntPtr
 
Public progstart_pid As Process
Public pilotstart_hnd As IntPtr
In Form Load:
        Dim FS As Object = My.Computer.FileSystem
        Dim Pfad As String
        Pfad = prog_pfad.Text
        Pfad = Replace(Pfad, "/", "\")
        Dim instance As New ProcessStartInfo
        instance.WorkingDirectory = FS.GetParentPath(Pfad)
        instance.FileName = Pfad
 
        If FS.FileExists(Pfad) Then
 
            Dim p As Process = Process.Start(instance)
            progstart_pid = p
            p.WaitForInputIdle()
            Dim hnd As IntPtr = GetForegroundWindow
            progstart_hnd = hnd
            SetParent(hnd, TabControl1.TabPages(5).Handle)
            SetWindowLong(p.MainWindowHandle, GWL_STYLE, 0)
            ShowWindow(hnd, SW_MAXIMIZE)
            SetWindowPos(hnd, 0, 0, -28, TabControl1.TabPages( _
                   5).Width, TabControl1.TabPages(5).Height, 0)
 
        End If
Form close:
progstart_pid.Kill()
Die Prozess_PID habe ich Global deklariert um das Programm beim beenden ebenfalls beenden zu können. Die -28 schieben das Fenster gerade so weit nach oben, dass man nich an die Titelleiste zum verschieben oder beenden drankommt. Einziger Schwachpunkt ist, dass ich das Fenster nicht wieder hergestellt bekomme , nachdem das Programm in die Taskbar als Notifyicon minimiert und wieder hervorgeholt wurde. Wenn ich dafür nicht noch eine Lösung finde, muss ich wohl das Notifyicon-Feature ausbauen..
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Fremdes Fenster als Child einbinden10.798Fex30.03.10 10:47
Re: Fremdes Fenster als Child einbinden8.956A.Kramer30.03.10 11:03
Re: Fremdes Fenster als Child einbinden9.025Fex30.03.10 11:09
Re: Fremdes Fenster als Child einbinden8.838GPM30.03.10 11:31
Re: Fremdes Fenster als Child einbinden8.987Fex30.03.10 12:36
Re: Fremdes Fenster als Child einbinden9.503GPM30.03.10 14:20
Re: Fremdes Fenster als Child einbinden8.854Fex30.03.10 14:26
Re: Fremdes Fenster als Child einbinden8.802Fex31.03.10 10:25
Re: Fremdes Fenster als Child einbinden8.764Manfred X31.03.10 10:47
Re: Fremdes Fenster als Child einbinden8.797Christoph197231.03.10 18:28
Re: Fremdes Fenster als Child einbinden9.592GPM31.03.10 23:48
Re: Fremdes Fenster als Child einbinden8.844Manfred X01.04.10 05:10
Re: Fremdes Fenster als Child einbinden8.919Fex01.04.10 10:05
Re: Fremdes Fenster als Child einbinden8.867GPM01.04.10 10:50
Re: Fremdes Fenster als Child einbinden8.802friedemannhw07.04.10 10:23
Re: Fremdes Fenster als Child einbinden8.813friedemannhw07.04.10 11:24
Re: Fremdes Fenster als Child einbinden8.802Haegar7502.04.10 23:22
Re: Fremdes Fenster als Child einbinden8.744Christoph197203.04.10 08:48
Re: Fremdes Fenster als Child einbinden8.803Haegar7503.04.10 11:53
Re: Fremdes Fenster als Child einbinden8.770Haegar7503.04.10 13:26
Re: Fremdes Fenster als Child einbinden8.776friedemannhw07.04.10 10:51
Re: Fremdes Fenster als Child einbinden8.915Haegar7508.04.10 21:05
Re: Fremdes Fenster als Child einbinden8.943friedemannhw09.04.10 07:04
Re: Fremdes Fenster als Child einbinden8.761Haegar7510.04.10 17:10
Re: Fremdes Fenster als Child einbinden8.801uuue18.04.10 18:44

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