這是在後臺工作中運行 問題似乎與註冊表檢查密鑰FS是否錯過了它的錯誤。 我正在做這個檢查,以防萬一有人刪除它,即使安裝程序添加了值。 也想知道爲什麼消息框不工作C#註冊表問題
//I DONT EVEN GET TO THIS MESSAGE BOX BEFORE THE ERROR
//BUT THE CATCH IS TRIGGERED FROM THE TRY BLOCK
MessageBox.Show("Entered Version Check");
try
{
//DONT GET TO SEE THIS MESSAGE BOX
MessageBox.Show("Entered try");
DirectoryInfo Temp = new DirectoryInfo(Path.GetTempPath());
RegistryKey rk = Registry.LocalMachine.OpenSubKey("Software\\My Application Here");
string val;
if (rk != null)
{
val = rk.GetValue("FS").ToString();
if (val == null)
{
MessageBox.Show("It appears that you do not have a File Server IP address configured" + Environment.NewLine + "Please login to the admin tools and set it", "No File Server Set", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
根據您的意見錯誤發生在第一行代碼之前。如果您不向我們顯示代碼,那麼很難確定導致錯誤的原因。 –
Windows窗體應用程序?你甚至可以使用後臺線程的GUI?如果你在前臺做它,它會起作用嗎? –
@JohnSaunders是的,MessageBox.Show()調用可以從後臺線程進行,但它們不會對主UI線程模態化。後臺線程嘗試直接訪問UI線程上的控件是很危險的。 –