Problème avec une application

Signaler
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Salut !

J'ai une application utilisant Directx. Je la lance et aimerais qu'elle soit une enfant (si possible MDI) de ma Form actuel.
Pour ça, j'ai le code suivant :

Dim hInst, hWndApp As Integer
    Dim procap As New Process
    Dim nomproc As String

    Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Integer, ByVal hWndNewParent As Integer) As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        hInst = Shell(Application.StartupPath & "\Temp.exe", AppWinStyle.Hide) 'lance notepad et récup de l'Id
        procap = Process.GetProcessById(hInst) 'Retourne un nouveau composant Process, en fonction de l'identificateur de notepad

        hWndApp = procap.MainWindowHandle 'récup de l'handle
        nomproc = procap.MainWindowTitle 'récup du titre  -- inutile--
        procap.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
        SetParent(hWndApp, Me.Handle.ToInt32)
        procap.StartInfo.WindowStyle = ProcessWindowStyle.Normal
    End Sub

Ca fonctionne très bien avec une application tel que le Notepad, par contre, avec mon application Directx (qui est faite avec Dark Basic Pro), bin ça marche.

Pouvez-vous m'aider svp?

Merci

 
*** ebaudoux@club.fr ***
*** http://www.velersoftware.fr.nf/ ***

1 réponse

Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
Re !

Bon, j'ai un peu avancé !
Le problème vient sûrement de hWndApp . La valeur est fausse. La valeur est 0, alors qu'en réalité c'est 1400 et quelque, enfin bref, c'est incorrecte.

 
*** ebaudoux@club.fr ***
*** http://www.velersoftware.fr.nf/ ***