Utiliser du code .NET en C++

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 :

Lectures complémentaires

Quelques liens pour enrichir le propos.


Valid XHTML 1.0 Transitional

CSS Valide !