Sto integrando un SDK di terze parti basato su C nella mia applicazione .NET. L'applicazione verrà eseguita come servizio Windows su un server, quindi non dovrebbe interagire con l'utente in alcun modo.Come posso impedire a una libreria di terze parti di visualizzare un MessageBox?
Sfortunatamente, in determinate condizioni di errore, insiste nel chiamare MessageBoxA, presumibilmente per segnalare che qualcosa di brutto è successo. Quando ciò accade, il servizio si blocca. Immagino che stia aspettando che qualcuno prema Ok?
Non è possibile che il fornitore modifichi il proprio codice per me.
C'è un modo per rendere questa chiamata su un no-op in modo che il mio codice possa gestire automaticamente la situazione?
MODIFICA: Potrebbe essere importante menzionare che nel mio caso particolare il servizio si riavvierà automaticamente in caso di arresto anomalo. Una grazia (il più possibile) e l'uscita improvvisa sono probabilmente la migliore risoluzione per una situazione in cui un MessageBox viene visualizzato nel mio caso.
Non è una risposta reale, lo so, ma trovare una libreria/servizio migliore. Se una biblioteca ha questo tipo di problema, è probabile che ne abbia di più. –
Ricordo che un mio ex collaboratore idiota mise in una finestra di messaggio un codice che era noto per essere un servizio.Gli ho detto di rimuoverlo ma l'ha lasciato comunque e abbiamo dovuto ri-rilasciare il software ... non andava bene. – Tim
No, dite che non è così un MessageBox da una libreria !!!! Buona domanda –