MessageBox不会在Windows 7 Embedded中显示

时间:2010-11-11 21:33:24

标签: c# .net windows-embedded windows-7-embedded

考虑一个MessageBox来提示用户回答是或否。它适用于我们的XP机器和一台Windows 7构建机器。

但是,它不适用于我们的Windows 7 Embedded机器。没有错误消息,没有MessageBox显示。它只是假设用户单击了Yes按钮,因为我可以找到从那里创建的调试文件,并且在它之前没有任何messageBox的情况下调用createDatabase();

我可以找到MessageBox所需的程序集(System.Windows.Forms.dll)。它与我们的Windows 7构建机器位于同一位置。你知道为什么吗?感谢

DialogResult result = System.Windows.Forms.MessageBox.Show(
    "Do you want to update your database?\nWarning: All your data will be erased if you click Yes !",
"Update Database",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);

if (result == DialogResult.Yes)
{
    string[] cmdLines2 = { @"C:\AndeDB\AndeDB.db is here and selected yes" };
    //it will create, open and write or overwrite
    File.WriteAllLines(@"C:\Temp\dbcheck2.txt", cmdLines2);
    createDatabase();
}

2 个答案:

答案 0 :(得分:5)

this发布,您可以禁用Windows 7 Embedded中的“消息框默认回复”组件。有关详细信息,请参阅msdn

答案 1 :(得分:4)

此处的关键字是“嵌入式”。这些版本的Windows通常配置为无头(无监视器)或优化工作,无需任何人关闭。 MessageBox对此类配置有害。机器停止运转,没人能找出原因。

您需要返回系统构建器并找到控制它的选项。