Salut

J'ai pu lire plusieurs posts au sujet de la fonction SetParent. et il ressort a plusieurs reprises que cela ne fonctionne pas avec toutes les applications

Pour ma part, j'ai essayé avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class Form1
 
 
 
    Declare Auto Function SetParent Lib "user32.dll" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Integer
    Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    Private Const WM_SYSCOMMAND As Integer = 274
    Private Const SC_MAXIMIZE As Integer = 61488
    Dim proc As Process
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        proc = Process.Start("MON APPLICATION")
        proc.WaitForInputIdle()
 
        SetParent(proc.MainWindowHandle, Panel1.Handle)
            SendMessage(proc.MainWindowHandle, WM_SYSCOMMAND, SC_MAXIMIZE, 0)
    End Sub
End Class
En lieu et place de "MON APPLICATION", j'ai mis plusieurs chemin d'accès à différentes applications et le constat est là. Cela ne fonctionne pas pour toutes les applications et malheureusement, celle qui m'intéressait, KaraFun (Logiciel de lecture de karaokés) ne fonctionne pas. Y aurait-il un moyen pour que ce non fonctionnement soit contourné ?

Merci par avance pour vos réponses.

@+ Martipit