我有一个用c#开发的应用程序。此应用程序将短信发送给客户端。这个应用程序一直运行到昨天,但突然今天早上我发现,如果我启动应用程序它启动但不显示在桌面上的任何地方,甚至在任务栏中。我试图使用任务管理器停止它,但我在任务管理器中找不到它。我在我的代码中包含了一些函数,它限制了同时运行此应用程序的两个实例。因此,当我再次尝试运行时,它显示此应用程序已在运行。我只能使用TCP Viewer关闭它,这有助于关闭后台程序。但我没有编写任何代码行来在后台运行它。 即使我正在调试它也会正确地进入调试点但不显示表单。请帮帮我。
以下是我的表单加载代码示例:
private void Form1_Load(object sender, EventArgs e)
{
tcnt = 1;
thistime = DateTime.Now.Date;
techtime = "09:00:01";
techdate = DateTime.Now.Date;
dntime = DateTime.Now.Date;
rebillingdate = DateTime.Now.Date;
checkState[1] = true;
checkState[2] = false;
checkState[3] = false;
this.tmrLog.Enabled = true;
this.stStatus.Text = "Form loading";
string myDate = DateTime.Now.Date.ToString("yyyyMMdd");
string myFile = null;
string myDir = "logs\\schedule\\";
StreamReader sr = default(StreamReader);
string str = null;
DirectoryInfo dir = new DirectoryInfo(myDir);
//DirectoryInfo DirItem = default(DirectoryInfo);
FileInfo[] dirfiles = null;
//FileInfo myf = default(FileInfo);
this.Controls.Add(lsLog);
lsLog.Items.Clear();
if (dir.Exists == true)
{
foreach (var DirItem in dir.GetDirectories())
{
dirfiles = DirItem.GetFiles();
foreach (var myf in dirfiles)
{
if (myf.Name.IndexOf("schedule") > 0 & myf.Name.IndexOf(myDate) > 0)
{
myFile = "logs\\schedule\\" + DirItem.Name + "\\" + myf.Name;
if (DirItem.Name == "48" | DirItem.Name == "IPX")
{
sr = File.OpenText(myFile);
while (sr.Peek() != -1)
{
str = sr.ReadLine();
lsLog.Items.Insert(0, str);
}
sr.Close();
}
}
}
}
}
tmrLog.Enabled = true;
}