Gros prob, help me !!!

sebastienbro Messages postés 246 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 5 août 2004 - 17 oct. 2002 à 15:40
cs_llo Messages postés 45 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 6 décembre 2002 - 24 oct. 2002 à 12:38
Voilà, j'aimerai récupérer le texte entrer par l'utilisateur, mais pas dans mon application, mais dans une autre. Par exemple, mon appli est cachée est fonctionne donc en arriere plan, et l'utilisateur tape du texte dans notepad. Et je voudrai ke kan on montre l'application, le texte écrit dans notepad soit écrit dans un TEdit. Audez moi svp.
PS: Je travaille avec C++ Builder 6 professionel

Merci d'avance

Seb

1 réponse

cs_llo Messages postés 45 Date d'inscription jeudi 10 octobre 2002 Statut Membre Dernière intervention 6 décembre 2002
24 oct. 2002 à 12:38
salut,
je ne connais pas borland mais bien que le fait de passer des infos entre 2 applis soit déconseillé...
microsoft a mis en place une messagerie entre 2 appli :
WM_COPYDATA

voici un ex décrit par la doc de microsoft

// ************ Globals ************

#define MYDISPLAY 1

typedef struct tagMYREC
{
char s1[80];
char s2[80];
DWORD n;
} MYREC;

COPYDATASTRUCT MyCDS;
MYREC MyRec;

BOOL CALLBACK InfoDlgProc( HWND, UINT, WPARAM, LPARAM );

// ************ Code fragment ****************

// Get data from user. InfoDlgProc stores the information in MyRec.

DialogBox( ghInstance, "InfoDlg", hWnd, (DLGPROC) InfoDlgProc );

// Copy data into structure to be passed via WM_COPYDATA

lstrcpy( MyRec.s1, szFirstName );
lstrcpy( MyRec.s2, szLastName );
MyRec.n = nAge;

// Fill the COPYDATA structure

MyCDS.dwData = MYPRINT; // function identifier
MyCDS.cbData = sizeof( MyRec ); // size of data
MyCDS.lpData = &MyRec; // data structure

// Call function, passing data in &MyCDS

hwDispatch = FindWindow( "Disp32Class", "Hidden Window" );
if( hwDispatch != NULL )
SendMessage( hwDispatch,
WM_COPYDATA,
(WPARAM)(HWND) hWnd,
(LPARAM) (LPVOID) &MyCDS );
else
MessageBox( hWnd, "Can't send WM_COPYDATA", "MyApp", MB_OK );
The receiving application has a hidden window which receives the information from WM_COPYDATA and displays it to the user.

// ************ Globals ************

#define MYDISPLAY 1

typedef struct tagMYREC
{
char s1[80];
char s2[80];
DWORD n;
} MYREC;

PCOPYDATASTRUCT pMyCDS;

void WINAPI MyDisplay( LPSTR, LPSTR, DWORD );

// ************ Code fragment ****************

case WM_COPYDATA:
pMyCDS = (PCOPYDATASTRUCT) lParam;

switch( pMyCDS->dwData )
{
case MYDISPLAY:
MyDisplay( (LPSTR) ((MYREC *)(pMyCDS->lpData))->s1,
(LPSTR) ((MYREC *)(pMyCDS->lpData))->s2,
(DWORD) ((MYREC *)(pMyCDS->lpData))->n );
}
break;

shuss
l'lo
0
Rejoignez-nous