?干什么用的

解决方案 »

  1.   

    用于进程间传递消息,例子如下:
    #define MYDISPLAY 1typedef 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 );