質問

メッセージボックスを検討して、ユーザーに「はい」またはいいえに答えるように促します。 XPマシンと1つのWindows 7ビルドマシンで動作します。

ただし、Windows 7埋め込みマシンでは機能しません。エラーメッセージはなく、メッセージボックスが表示されません。そこから作成されたデバッグファイルを見つけることができるため、ユーザーが[はい]ボタンをクリックしたと仮定します createDatabase(); その前にメッセージボックスなしで呼び出されます。

メッセージボックスが必要とするアセンブリ(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();
}
役に立ちましたか?

解決

から これ 投稿すると、Windows 7が埋め込まれた「メッセージボックスデフォルトの返信」コンポーネントを無効にすることができます。詳細については、詳細をご覧ください MSDN.

他のヒント

ここのキーワードは「組み込み」です。このようなバージョンのWindowsは、多くの場合、ヘッドレス(モニターなし)を実行するように構成されているか、誰も閉じずに動作するように最適化されています。メッセージボックスは、このような構成に対する毒です。マシンは実行を停止し、その理由を知ることはできません。

システムビルダーに戻り、これを制御するオプションを見つける必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top