Ce qui suit présume que vous utilisiez Visual Studio 2008 et un Framework récent (typiquement, le 3.5 ou le 4).
Imaginons une fenêtre C# (.exe pris en charge) nommée WowCool dans le programme FenetreCDiese.exe, donc dans l'espace nommé FenetreCDiese. Imaginons aussi que nous souhaitions démarrer cette fenêtre dans un programme C++ standard.
// Cocher prise en charge du Common Language Runtime
// dans les options générales du projet
#include <vcclr.h>
#include <iostream>
//
// ajouter une référence (Parcourir) sur le .exe C#
// ajouter une référence (.NET) sur System
// ajouter une référence (.NET) sur System.Windows.Forms
//
int main()
{
using namespace std;
cout << "Pressez une touche puis <enter> pour faire apparaîre la fenêtre...";
char c;
cin >> c;
gcroot<FenetreCDiese::WowCool ^> p = gcnew FenetreCDiese::WowCool;
p->ShowDialog();
cout << "Bingo!" << endl;
}
Le code C++ requis pour y arriver très simplement est proposé à droite. Les éléments clés sont :
Quelques liens pour enrichir le propos.