我做了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);
任何回复和评论表示赞赏。
[8月23日更新]
我咨询了一个人。他说showed on another invisible desktop actually
我的test2的MessageBox。他推荐我读一本名为“Windows internals”的书。如果发现任何我会稍后更新我的帖子。谢谢。