private void button1_Click(object sender, EventArgs e) { TexList.Clear(); ModelInfo.Clear(); MODEL = new string[3]; if (startGetDriveFile != true) { DriveFile.Clear(); GetDriveFile(); } try { var downloadsArr = textBox1.Text.Split(Convert.ToChar("d")); int.Parse(downloadsArr[downloadsArr.Length - 1]); td_num = downloadsArr[downloadsArr.Length - 1]; } catch (Exception) { MessageBox.Show("输入的网址有误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var save = new FolderBrowserDialog { ShowNewFolderButton = true, Description = "请选择保存目录" }; save.ShowDialog(); if (save.SelectedPath == "") { return; } Invoke(ShowInfo, "", 7); if (!Downloadjson()) { return; } path = save.SelectedPath; if (Mod2.Checked) { var newThread = new Thread(Start); newThread.SetApartmentState(ApartmentState.STA); newThread.Start(); } else { var GetWebInfo = true; var Browser = new WebBrowser { ScriptErrorsSuppressed = true }; Browser.DocumentCompleted += delegate { GetWebInfo = false; }; Browser.Navigate("https://3d.nicovideo.jp/externals/embedded?id=td" + td_num, "_self", null, "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"); Task.Factory.StartNew(() => { if (AnalyseJson()) { if (MessageLabel.Text == "Json反序列化成功") { Invoke(ShowInfo, "", 10); Invoke(ShowInfo, "正在等待网络响应", 0); Invoke(ShowInfo, "100", 55); while (GetWebInfo) { if (toolStripProgressBar1.Value == 100) { Invoke(ShowInfo, "100", 55); } Thread.Sleep(10); Invoke(ShowInfo, "", 5); } Invoke(ShowInfo, "正在下载模型数据中", 0); var DownloadModel = new DownloadHelper(); ThreadPool.QueueUserWorkItem(obj => { while (DownloadModel.DownloadStatus != "正在下载模型数据中") { Invoke(ShowInfo, DownloadModel.DownloadStatus, 0); Thread.Sleep(100); } Invoke(ShowInfo, DownloadModel.End.ToString(), 55); Invoke(ShowInfo, DownloadModel.DownloadStatus, 0); while (DownloadModel.DownloadStatus != "下载完成") { Invoke(ShowInfo, DownloadModel.current.ToString(), 555); Thread.Sleep(50); } }); if (DownloadModel.DownloadFile( $"https://3d.nicovideo.jp/upload/limited_contents/td{td_num}/{MODEL[1].Replace("[1]", "")}.{MODEL[2]}", out byte[] ModelData)) { if (Decrypt(ModelData)) { Invoke(ShowInfo, ModelInfo.Count.ToString(), 55); Invoke(ShowInfo, MODEL[0] + "->下载成功", 1); Invoke(ShowInfo, "正在下载贴图数据中", 0); foreach (var TexInfo in ModelInfo) { Invoke(ShowInfo, "", 5); if (new DownloadHelper().DownloadFile( $"https://3d.nicovideo.jp/upload/limited_contents/td{td_num}/{TexInfo.texurl0.Replace("[1]", "")}.{TexInfo.texurl1}", out byte[] TexData))