0 Members and 1 Guest are viewing this topic.
et je copie la dll dans le répertoire modules/plugins.
Le hic dans notre cas c'est qu'on aimerai bien se passer de l'interface de lancement d'orbiter. donc pour éviter ca je patche le fichier de config d'orbiter. je reviendrai là dessus par la suite en ajoutant mon module à la liste. et ce à chaque démarrage de mission( je vérifie qu'il est bien dans la liste)
ensuite je démarre le scenario en lancant orbiter avec l'option '\s' qui permet justement de lancer sans l'interface initiale (merci amrtin pour cette option non documentée mais qui existe depuis le début)
pour info dans mon MFDLib j'ai une classe qui intercepte tous les appels que fait orbiter et les redirige dans une classe virtuelle. Cela me permet de ne rien oublier et d'avoir un bon fonctionnement bien c++ (j'aime le language objet on ne se refait pas)
REEDIT : Par contre , niveau sécurité :Le pare-Feu n'a pas réagit du tout ! DOnc il n'y a pas d'ouverture de ports classiques ...La seule sécurité réside dans le nom unique de serveur+nom du pipe .Donc, quelqu'un de mal intentionné voulant détruire un serveur qui connaitrait son adresse ET le nom du Pipepourrait faire des dégats .
c'est pour ça que j'ai une préférence pour les sockets (association adresse+port)....
Non, le vrai danger, ce sont les scanneurs de ports, car ils peuvent voir sur une adresse ip particulière les protocoles actifs (les ports ouverts autrement dit).Après, c'est l'écriture des applis qui doit être propre et ne communiquer en aucun cas avec le système d'exploitation et ses services sensibles. L'appli est responsable de cette sécurité.
// ExtMFD.cpp//// Open multifunctional displays (MFD) in external windows// ==============================================================
The GetActiveWindow function retrieves the window handle to the active window associated with the thread that calls the function. HWND GetActiveWindow(VOID)
// ==============================================================// Global variablesHWND wnd=NULL ;
DLLCLBK void opcDLLInit (HINSTANCE hDLL){wnd=GetActiveWindow();...
//Initialisation du MFD MFDMeshPoser::MFDMeshPoser (DWORD w, DWORD h, VESSEL *vessel): MFD (w, h, vessel){ // Add MFD initialisation here wnd=GetActiveWindow(); .... }