110,533
社区成员
发帖
与我相关
我的任务
分享
private void btnNext_Click(object sender, System.EventArgs e)
{
if (availableUpdate > 0)
{
Thread threadDown=new Thread(new ThreadStart(DownUpdateFile));
threadDown.IsBackground = true;
threadDown.Start();
}
else
{
MessageBox.Show("没有可用的更新!自动程序将在你点击确定后自动退出!","自动更新",MessageBoxButtons.OK,MessageBoxIcon.Information);
Application.Exit();
//return;
}
}
private void DownUpdateFile()
{
this.Cursor = Cursors.WaitCursor;
mainAppExe = updaterXmlFiles.GetNodeValue("//EntryPoint");
Process [] allProcess = Process.GetProcesses();
foreach(Process p in allProcess)
{
if (p.ProcessName.ToLower() + ".exe" == mainAppExe.ToLower() )
{
for(int i=0;i<p.Threads.Count;i++)
p.Threads[i].Dispose();
p.Kill();
isRun = true;
//break;
}
}
private void btnNext_Click(object sender, System.EventArgs e)
{
if (availableUpdate > 0)
{
Thread threadDown=new Thread(new ParameterizedThreadStart(DownUpdateFile));//改用带参委托
threadDown.IsBackground = true;
threadDown.Start(this);//传入当前对象
}
else
{
MessageBox.Show("没有可用的更新!自动程序将在你点击确定后自动退出!","自动更新",MessageBoxButtons.OK,MessageBoxIcon.Information);
Application.Exit();
//return;
}
}
private void DownUpdateFile(Object obj)//设置一个Object参数
{
Control form=(Control)obj //强制转换为Control
form.Cursor = Cursors.WaitCursor;
mainAppExe = updaterXmlFiles.GetNodeValue("//EntryPoint");
Process [] allProcess = Process.GetProcesses();
foreach(Process p in allProcess)
{
if (p.ProcessName.ToLower() + ".exe" == mainAppExe.ToLower() )
{
for(int i=0;i<p.Threads.Count;i++)
p.Threads[i].Dispose();
p.Kill();
isRun = true;
//break;
}
}