2010-11-11 11 views
5

Considerare un MessageBox per richiedere all'utente di rispondere sì o no. Funziona con le nostre macchine XP e con una macchina Windows 7 build.MessageBox non viene visualizzato in Windows 7 incorporato

Tuttavia, non funziona sulla macchina Windows 7 Embedded. Non c'è nessun messaggio di errore, nessun MessageBox appare. Si presuppone solo che l'utente abbia fatto clic sul pulsante Sì perché è possibile trovare il file di debug creato da lì e createDatabase(); viene chiamato senza alcun messageBox in anticipo.

È possibile trovare l'assembly (System.Windows.Forms.dll) richiesto dal MessageBox. Si trova nella stessa posizione del nostro computer Windows 7. hai qualche idea del perché? grazie

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(); 
} 

risposta

5

Da this post, potrebbe disabilitare il componente "Message Box default risposta" da Windows 7 incorporato. Ulteriori dettagli possono essere trovati su msdn.

+0

Potrebbe condividere la soluzione per Windows XP pls? –

4

La parola chiave qui è "incorporata". Tali versioni di Windows sono spesso configurate per funzionare senza head-less (senza monitor) o ottimizzate per funzionare senza che nessuno sia vicino. Un MessageBox è veleno per una tale configurazione. La macchina si ferma e nessuno può scoprirne il motivo.

È necessario tornare al generatore di sistema e trovare l'opzione che lo controlla.

Problemi correlati