Bonjour,
J'ai une variable de type : REFCLSID CLSID
Et je voudrais la passé dans une CString pour pouvoir l'afficher dans une boite de dlg.
Exist'il une fonction prédéfinit pour faire cela?
Merci
Bonjour,
J'ai une variable de type : REFCLSID CLSID
Et je voudrais la passé dans une CString pour pouvoir l'afficher dans une boite de dlg.
Exist'il une fonction prédéfinit pour faire cela?
Merci
salut, ton REFCLSID est un pointeur sur une structure décrite comme suit
Donc t'as plus qu'a faire un CString.Format(...) avec Data1, Data2, etc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct _GUID { // size is 16 DWORD Data1; WORD Data2; WORD Data3; BYTE Data4[8]; } GUID;
Il faut faire un truc de ce genre:
Parcque si tu pense que oui désolé mais sa nemarche pas. Les nulèro que j'obtient ne sont pas dans la base de registre alors que ceux que j'ai en utilisant le mode debug sont correct.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 strCLSID.Format("%d-%d-%d-%d",CLSID.Data1,CLSID.Data2,CLSID.Data3,CLSID.Data4);
Même si je met %s pour le Data4, si tu sais faire peux-tu montrer un exemple.!
Tu peux utiliser la fonction Win32 StringFromCLSID (je sais pas s'il y a un wrapper MFC).
Code : 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 CLSID clsid; HRESULT hr = CLSIDFromProgID( OLESTR( "Excel.Application" ), &clsid ); if( FAILED( hr ) ) { return; } LPOLESTR olestr; hr = StringFromCLSID( clsid, &olestr ); if( FAILED( hr ) ) { return; } CString str = CString( olestr ); CoTaskMemFree( olestr ); AfxMessageBox( str );
Partager