Сообщение WM_COMMAND всегда принимается родительским элементом управления.Если вы хотите нажать кнопку программным путем, вы можете сделать это:
::SendMessage( button_handle, BM_CLICK, 0, 0 );
LPARAM из WM_COMMAND содержит button_handle.Таким образом, вы можете извлечь информацию о том, что ваша кнопка вызывает
::GetWindowLongPtr( HWND( lParam ), GWL_USERDATA );
. Вы должны были установить эту информацию ранее, например,
::SetWindowLongPtr( button_handle, GWL_USERDATA, reinterpret_cast<LONG_PTR>( some_info ) );
, например, some_info может указателем на объект-оболочку кнопки