Sto cercando qualsiasi informazione. (Conosco alcuni C ++ con win32 e C #)
L'idea:
L'idea è di aiutare un programma con caricamento di file mancanti. Alla fine volevo vedere se potevo avere il mio programma lanciare un semplice eseguibile c ++ che richiede una dll che stampa "Hello World" sullo standard output. La stranezza sarebbe che la dll non è presente nella cartella. Il programma c ++ invece di crash è sospeso e il programma principale deve richiedere la dll da qualche fonte . Una volta caricata la DLL, il processo di stampa riprende e continua a funzionare.
Esempio di esecuzione.
MainProcess => start("a.exe");
a.exe => LoadLibrary("test.dll");
OS responds with "file does not exist".
MainProcess catches said exception.
MainProcess suspends a.exe like in
questo esempio
MainProcess finds dll.
MainProcess dispatches the exception.
MainProcess tells gets a.exe to attempt loading again.
Ci sono casi in cui questo genere di cose non funzionerebbe? Un genitore può catturare eccezioni destinate ai bambini?
Come si farebbe?
Inoltre è possibile dire esattamente di quali file sarà necessario un processo prima di eseguirlo?