thierry,
At the top of your module, declare this:
Private Declare Function ShowWindowAsync Lib "user32.dll" (ByVal hWnd As Integer, ByVal nCmdShow As Integer) As Boolean
Then do this:
Dim hOldWnd As Integer
MyWin = New WinMain
MyWin.Show()
If Not InitializeDGDK("...") Then
MsgBox("Unable to initialize DGDK.NET", IDC_CRITICAL)
End
End If
hOldWnd = oDBDisplay.GetHWND() ' Obtain current DGDK.NET's window handle
H = MyWin.PictureBox1.Handle
oDBDisplay.OverrideHWND(H)
oDBDisplay.SetDisplayMode(1024, 768, 32)
ShowWindowAsync(hOldWnd, 0) ' Hide the window
Application.DoEvents()
As for oDBDisplay giving you access to the Direct3D device, it does return an actual address to an IDirect3D9 or IDirect3DDevice9, but using these interfaces directly within VB.NET is extremely difficult. They really should be used from a managed C++ project for plugin development etc. You'll need to learn about Interop access in order to use the address returned by those two functions under oDBDisplay.
Paul.