bonjour,
L'erreur "Thread does not have a clipboard open." survient lorsque j'utilise la fonction SetClipboardData.

Au travers un clic de souris un menu popup apparait qui me renvoie sur un message WM_COMMAND que j'intercepte dans une méthode OnCopy

J'utilise directement l'exemple fourni dans le MSDN :
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
if ( !OpenClipboard() )
   {
      AfxMessageBox( "Cannot open the Clipboard" );
      return;
   }
   // Remove the current Clipboard contents  
   if( !EmptyClipboard() )
   {
      AfxMessageBox( "Cannot empty the Clipboard" );
      return;  
   }
 
  // m_stext variable membre de type CString
   BSTR bstr m_stext.AllocSysString();
 
   // For the appropriate data formats...
   if ( ::SetClipboardData( CF_TEXT, bstr) == NULL )  
   {
      AfxMessageBox( "Unable to set Clipboard data" );    
      LocalFree(bstr);
      CloseClipboard();
      return;  
   }  
   LocalFree(bstr);
   CloseClipboard();
}

Donc j'ouvre bien le presse papier puis je le vide. Ensuite la fonction SetClipboardData me renvoie un pointeur null comme si le presse papier n'avait pas été ouvert ???

Si quelqu'un peut m'orienter vers une solution ou m'indiquer là où je me trompe.
Merci