MessageBox не отображается в Windows 7 Embedded - PullRequest
5 голосов
/ 12 ноября 2010

Рассмотрим MessageBox, чтобы предложить пользователю ответить «да» или «нет». Он работает на наших машинах с XP и на одной машине с Windows 7.

Однако на нашем компьютере с Windows 7 Embedded он не работает. Нет сообщения об ошибке, не отображается MessageBox. Предполагается, что пользователь нажал кнопку «Да», потому что я могу найти созданный там файл отладки, и createDatabase(); вызывается без какого-либо MessageBox.

Я могу найти сборку (System.Windows.Forms.dll), которая требуется для MessageBox. Он находится в том же месте, что и наша сборочная машина 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 ]

5 голосов
/ 12 ноября 2010

С этой записи вы можете отключить компонент «Message Box Default Reply» из Windows 7 Embedded.Дальнейшие подробности можно найти на msdn .

4 голосов
/ 12 ноября 2010

Ключевое слово здесь «встроенный». Такие версии Windows часто настроены на работу без головы (без монитора) или оптимизированы для работы без посторонних. MessageBox является ядом для такой конфигурации. Машина перестает работать, и никто не может понять, почему.

Вам нужно вернуться к своему сборщику системы и найти опцию, которая управляет этим.

...