所以我遇到了问题,我正在尝试检查互联网连接是否可用。
我正在使用此代码段:
public void tasks()
{
log.Add("LOG - Check for InternetConnection"); //log
DialogResult result = new DialogResult();
while (!InternetConnection()) //Check for Interent Connection
{
result = MessageBox.Show("No Internet Connection Detected!\nPlease Connect to Internet and Retry", "ERROR - No Internet Connection", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
if (result == DialogResult.Cancel)
{
break;
}
}
if (result == DialogResult.Cancel)
{
Application.Exit();
}
}
#region CheckInternetConnection
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);
private bool InternetConnection()
{
log.Add("LOG - InternetConnection called"); //log
try
{
int Description;
return InternetGetConnectedState(out Description, 0);
}
catch //Not connected
{
log.Add("LOG - No Internet Connection"); //log
return false;
}
}
#endregion CheckInternetConnection
我的问题是,当Application.Exit()
被执行时(我通过设置断点检查),应用程序正好经过该行。
据我了解,这是由在后台运行的任务引起的。
所以我想知道是否有可能获得有关正在运行的任务的信息......
您现在可能已经知道我正在使用Visual Studio 2017并拥有Windows窗体应用程序。
提前谢谢。
答案 0 :(得分:0)
据我所知,Application.Exit()关闭所有任务。
尝试:
Enviroment.Exit()