Potresti provare a passare tramite la Clipboard.
Ti invio una funzione provala e fammi sapere se ok per quello che ti serve.
Potresti provare a copiarci le info con separqando con ";" per poi splittarli (Split()) per determirare il controllo della form chiamente che deve riceverli.
Ecco le api neccessarie.
codice:
'Apre la clipboard
Declare Function OpenClipboard Lib "user32" Alias "OpenClipboard" (ByVal
hwnd As Long) As Long
'Svuota la clipboard
Declare Function EmptyClipboard Lib "user32" Alias "EmptyClipboard" () As
Long
'Chiude la clipboard
Declare Function CloseClipboard Lib "user32" Alias "CloseClipboard" () As
Long
'Ritorna l' handle della finestra che ha aperto la clipboard. Solo UNA
finestra puo' avere aperta la clipboard.
Declare Function GetOpenClipboardWindow Lib "user32" Alias
"GetOpenClipboardWindow" () As Long
'Inserisce dati nella clipboard
Private Declare Function SetClipboardData Lib "User32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
'Restituisce i dati presenti nella clipboard
Declare Function GetClipboardData Lib "user32" Alias "GetClipboardDataA"
(ByVal wFormat As Long) As Long
'Elenca i formati presenti nella clipboard
Declare Function EnumClipboardFormats Lib "user32" Alias
"EnumClipboardFormats" (ByVal wFormat As Long) As Long
'Ritorna il numero di formati presenti nella clipboard
Declare Function CountClipboardFormats Lib "user32" Alias
"CountClipboardFormats" () As Long
'Permette di registrare un nuovo formato per inserirlo nella clipboard
Declare Function RegisterClipboardFormat Lib "user32" Alias
"RegisterClipboardFormatA" (ByVal lpString As String) As Long
'Ritorna il nome di un formato registrato della clipboard
Declare Function GetClipboardFormatName Lib "user32" Alias
"GetClipboardFormatNameA" (ByVal wFormat As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long
'Ritorna se un dei dati di un formato sono presenti nella clipboard
Declare Function IsClipboardFormatAvailable Lib "user32" Alias
"IsClipboardFormatAvailable" (ByVal wFormat As Long) As Long
'Formati
Public Const CF_BITMAP = 2
Public Const CF_DIB = 8
Public Const CF_DIF = 5
Public Const CF_DSPBITMAP = &H82
Public Const CF_DSPENHMETAFILE = &H8E
Public Const CF_DSPMETAFILEPICT = &H83
Public Const CF_DSPTEXT = &H81
Public Const CF_ENHMETAFILE = 14
Public Const CF_GDIOBJFIRST = &H300
Public Const CF_GDIOBJLAST = &H3FF
Public Const CF_METAFILEPICT = 3
Public Const CF_OEMTEXT = 7
Public Const CF_OWNERDISPLAY = &H80
Public Const CF_PALETTE = 9
Public Const CF_PENDATA = 10
Public Const CF_PRIVATEFIRST = &H200
Public Const CF_PRIVATELAST = &H2FF
Public Const CF_RIFF = 11
Public Const CF_SYLK = 4
Public Const CF_TEXT = 1
Public Const CF_TIFF = 6
Public Const CF_UNICODETEXT = 13
Public Const CF_WAVE = 12
'Altre funzioni mai usate (da me!) per la clipboard
Declare Function ChangeClipboardChain Lib "user32" Alias
"ChangeClipboardChain" (ByVal hwnd As Long, ByVal hWndNext As Long) As Long
Declare Function GetClipboardOwner Lib "user32" Alias "GetClipboardOwner" () As Long
Declare Function GetClipboardViewer Lib "user32" Alias "GetClipboardViewer" () As Long
Declare Function GetPriorityClipboardFormat Lib "user32" Alias
"GetPriorityClipboardFormat" (lpPriorityList As Long, ByVal nCount As Long) As Long
Declare Function SetClipboardViewer Lib "user32" Alias "SetClipboardViewer" (ByVal hwnd As Long) As Long