我不是程序员,但是我需要为我使用的程序制作可执行文件,我用C#编写了它。 当我启动或测试调试时,它会在某些时候冻结。
我需要这个可执行文件才能基本永远运行,这就是为什么我制作了一个无限的while循环的原因。我认为这就是问题所在。
我需要程序检查oldctime
是否等于newctime
(检查文件是否被覆盖),如果发生这种情况,它需要运行AddiLogic()
Sub
有什么办法解决这个问题吗?预先感谢
public InventorInfo() {
InitializeComponent();
}
private void BtnClose_Click(object sender, EventArgs e) {
this.Close();
}
void RunProgram(object sender, EventArgs e) { //LAUNCH BUTTON press
while (LaunchedApp == false) {
if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(textBox2.Text) || string.IsNullOrEmpty(textBox3.Text)) {
MessageBox.Show("Launch aborted, Fill in the required fields");
break;
}
else
Launch_invApp();
oDoc = _invApp.Documents.Open(textBox1.Text);
MessageBox.Show("Launched succesfully, configurator exe is running...");
LaunchedApp = true;
}
System.Threading.Thread.Sleep(4000);
FileInfo info = new FileInfo(textBox3.Text);
DateTime ctime = info.LastWriteTime;
newctime = ctime.ToString();
oldctime = newctime;
//Seems to freeze from this point?
while (LaunchedApp == true) {
info = new FileInfo(textBox3.Text);
ctime = info.LastWriteTime;
newctime = ctime.ToString();
if (newctime.Equals(oldctime)) {
}
else
AddiLogic();
oldctime = newctime;
}
}