Я сделал 2 теста.
Я получил два приложения, которые работали на одном компьютере.
Первый раз, когда я нажимаю на мой CsAPP.exe . MessageBox.Show()
работает довольно хорошо, и новое окно появляется так, как я хотел.
Второй раз, когда я запускаю CppAPP.exe , CreateProcess()
вызывает CsApp.exe . На данный момент мой MessageBox.Show()
не работает. Я установил точку останова для своего кода CsApp и подтвердил, что код работал на MessageBox.Show()
, но всплывающее окно не появилось.
Фрагмент кода C ++
CreateProcess(apppath.c_str(), NULL, &sa, &sa, FALSE, 0, NULL, appdir.c_str(), &si, &pi);
Фрагмент кода C #
MessageBox.Show("Read " + xmlFile + " failed, an invalid XML format file found",
"Critical Warning",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
Любые ответы и комментарии приветствуются.
[Обновлено 23 августа]
Я консультировался с одним парнем. И Он сказал, что MessageBox showed on another invisible desktop actually
для моего теста2. Он порекомендовал мне прочитать книгу под названием «Внутренние компоненты Windows». Если найдется, я обновлю свой пост позже. Спасибо.