Esempio n. 1
0
LRESULT CFrameWnd::OnDDEExecute( WPARAM wParam, LPARAM lParam )
/*************************************************************/
{
    HWND    hWndClient = (HWND)wParam;
    HGLOBAL hMem = (HGLOBAL)lParam;
    ::PostMessage( hWndClient, WM_DDE_ACK, (WPARAM)m_hWnd, MAKELPARAM( 0x8000, hMem ) );

    CString str;
    LPVOID lpMem = ::GlobalLock( hMem );
#ifdef _UNICODE
    if( !::IsWindowUnicode( hWndClient ) ) {
        str = (LPCSTR)lpMem;
    } else {
#endif
        str = (LPCTSTR)lpMem;
#ifdef _UNICODE
    }
#endif
    ::GlobalUnlock( hMem );

    CWinApp *pApp = AfxGetApp();
    ASSERT( pApp != NULL );
    
    LPTSTR lpszCommand = str.GetBuffer();
    pApp->OnDDECommand( lpszCommand );
    str.ReleaseBuffer();
    
    return( 0L );
}