1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| byte[] data;
// Chargement de ton assembly (ton binaire) dans le tableau 'datas'
// Puis ....
// Tentative de chargement de l'assembly
assembly = Assembly.Load(datas);
// Vérification si le point d'entrée nous renvoie bien un Type
type = assembly.EntryPoint.ReturnType;
if (type != null)
{
// Lancement du programme
object obj = assembly.CreateInstance(assembly.EntryPoint.Name);
// Appel de la méthode d'entrée de l'assembly et attente jusqu'à ce que le
// programme chargé en mémoire se termine
assembly.EntryPoint.Invoke(obj, BindingFlags.InvokeMethod, null, null, null);
assembly = null;
}
else
{
MessageBox.Show("Données corrompues ou incompatibles", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Stop);
} |
Partager