Integruję zestaw SDK innej firmy oparty na C z moją aplikacją .NET. Aplikacja będzie działać jako usługa Windows na serwerze, więc nie powinna w żaden sposób wchodzić w interakcję z użytkownikiem.Jak zapobiec wyświetlaniu MessageBox przez bibliotekę stron trzecich?
Niestety, w pewnych warunkach błędu nalega na wywołanie MessageBoxA, prawdopodobnie w celu zgłoszenia, że stało się coś złego. W takim przypadku usługa przestaje odpowiadać. Zgaduję, że czeka na kogoś, kto nacisnął Ok?
Nie jest możliwe, aby sprzedawca zmienił dla mnie kod.
Czy istnieje sposób, w jaki mogę wywołać to połączenie w trybie bez powiadomienia, aby mój kod mógł automatycznie zająć się sytuacją?
EDYCJA: Może być ważne, aby wspomnieć, że w moim szczególnym przypadku usługa automatycznie uruchomi się ponownie, jeśli ulegnie awarii. Zgrabne (jak to możliwe) i nagłe wyjście jest prawdopodobnie najlepszą rozdzielczością dla sytuacji, w której w moim przypadku wyświetlany jest komunikat MessageBox.
Nie jest to prawdziwa odpowiedź, którą znam, ale znajduję lepszą bibliotekę/usługę. Jeśli biblioteka ma tego typu problemy, może mieć więcej. –
Pamiętam, że mój były idiota, ex-co-worker, umieścił w skrzynce z wiadomościami kod, który był znany jako usługa.Powiedziałem mu, żeby go usunął, ale on nadal to zostawił i musieliśmy ponownie opublikować oprogramowanie ... nie było dobrze. – Tim
Nie, powiedz, że to nie jest MessageBox z biblioteki !!!! Dobre pytanie –