Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Hide Error report

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Привіт.

Стикнувся з наступною проблемою:

Є аплікуха, написана на.Net. Вона приймає на вході сорс консольної програмки на С++, пише його в файл, компілить за допомогою командного рядка, потім бере екзешку, яка получилася і запускає її приховано від юзера (на екрані нема ні вікон ні консолі) за допомогою System.Diagnostics.Process. Екзешка може крешити під час виконання — тоді на екрані з’являється нікому не потрібний віндовий Send Error Message. Потрібно якось зробити так, щоб останній не з’являвся на екрані засобами.Net або WinAPI (останнє більш ймовірно). Можливо тут хтось підкаже, куди взагалі треба копати?

Наперед дякую.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Коментар порушує правила спільноти і видалений модераторами.

Хотя перехват SEH не поможет если баг в CRT-библиотеке, тогда только _set_invalid_parameter_handler в коде C++ на свой хендлер обработки ошибок.

Ууу как у вас всё через жопу.
Пока кроме внедрения кода remote thread в код процесса который вы запускаете (скорее всего вы имеете хендл процесса) и установки своего хендлера на перехват seh-исключений на код своей dll.
CreateRemoteThread
msdn.microsoft.com/...ibrary/ms682437 (VS.85).aspx
Injecting a DLL into Another Process’s Address Space
www.codeguru.com/...rticle.php/c105
Хотя можно тупо для всей системы отключить Dr.Watson

support.microsoft.com/kb/188296

Підписатись на коментарі