Esempio n. 1
0
 void AddDownloadButton()
 {
     if (checkBox1.Checked)
     {
         Program.config.DownloadPath = textBox1.Text;
         Program.config.save();
     }
     if (!Directory.Exists(textBox1.Text))
     {
         MessageBox.Show("下载文件夹不存在!");
         return;
     }
     if (info.isdir == 1)
     {
         Directory.CreateDirectory(textBox1.Text + "\\" + info.getName());
         JObject jobj = JObject.Parse(WebTool.GetHtml(string.Format("https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token={0}&path={1}", Program.config.Access_Token, info.path)));
         foreach (JObject job in jobj["list"])
         {
             BaiduPanDownload.Data.FileInfo fileinfo = JsonConvert.DeserializeObject <BaiduPanDownload.Data.FileInfo>(job.ToString());
             main.AddDownloadFile(fileinfo, textBox1.Text + "\\" + info.getName(), fileinfo.getName());
         }
         this.Close();
         return;
     }
     main.AddDownloadFile(info, textBox1.Text, info.getName());
     this.Close();
 }
Esempio n. 2
0
 void updateFileList(object path)
 {
     try
     {
         Path_Lab.Text = "当前路径:" + path.ToString().Replace("apps", "我的应用数据");
         var jobj = JObject.Parse(WebTool.GetHtml($"https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token={Program.config.Access_Token}&path=" + Uri.EscapeDataString($"{path.ToString()}")));
         FilelistView.BeginUpdate();
         FilelistView.Items.Clear();
         Fileinfo.Clear();
         foreach (JObject job in jobj["list"])
         {
             DiskFileInfo fileinfo = JsonConvert.DeserializeObject <DiskFileInfo>(job.ToString());
             FilelistView.Items.Add(fileinfo.getName());
             this.Fileinfo.Add(fileinfo.getName(), fileinfo);
             if (fileinfo.isdir == 1)
             {
                 setEndItemImageKey("Dir.png");
             }
             else
             {
                 setEndItemImageKey(getIconImage(fileinfo.getSuffix()));
             }
         }
         FilelistView.EndUpdate();
     }
     catch (Exception ex)
     {
         MessageBox.Show("更新文件列表时遇到意外的错误: " + ex.ToString());
     }
     Info_Lab.Text = "等待中...";
 }
 private void Main_Load(object sender, EventArgs e)
 {
     System.Net.ServicePointManager.DefaultConnectionLimit = 999999;
     if (!Directory.Exists(Program.config.TempPath))
     {
         Directory.CreateDirectory(Program.config.TempPath);
     }
     LoadConfig();
     if (Program.config.WebDownload)
     {
         new WebDownload().Listen();
     }
     new Thread(Upgraded).Start();
     if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty)
     {
         return;
     }
     try
     {
         SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token));
         // Used_Lab.Text = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024);
         Text = string.Format("已登录账户 [{0}],已使用容量 {1} / {2} (GB)", DiskAPI.GetName(Program.config.Access_Token), (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024);
     }
     catch (Exception ex)
     {
         LogTool.WriteLogError(typeof(Main), "更新容量信息时出现错误", ex);
         MessageBox.Show("更新容量信息时出现错误,请尝试重新登录");
         return;
     }
     DownloadListView.View = View.Details;
     new Thread(updateFileList).Start(HomePath + Path);
 }
Esempio n. 4
0
 /// <summary>
 /// 检查更新
 /// </summary>
 void Upgraded()
 {
     try
     {
         JObject job = JObject.Parse(WebTool.GetHtml("http://www.mrs4s.top/api/update.json"));
         if ((int)job["Build"] > 2)
         {
             DialogResult dr = MessageBox.Show((string)job["Message"] + "\r\n\r\n是否更新?", "发现更新", MessageBoxButtons.OKCancel);
             if (dr == DialogResult.OK)
             {
                 try
                 {
                     System.Diagnostics.Process.Start((string)job["Yes_Button"]);
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show("调用浏览器失败! " + ex.Message);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Esempio n. 5
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty)
     {
         MessageBox.Show("你还未登录呢");
         return;
     }
     if (Info_Lab.Text == "正在刷新")
     {
         return;
     }
     Info_Lab.Text = "正在刷新";
     try
     {
         SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token));
         Used_Lab.Text = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024);
         Text          = string.Format("已登录账户 [{0}],已使用容量 {1} / {2} (GB)", DiskAPI.GetName(Program.config.Access_Token), (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024);
     }
     catch (Exception ex)
     {
         LogTool.WriteLogError(typeof(Main), "更新容量信息时出现错误", ex);
         MessageBox.Show("更新容量信息时出现错误,请尝试重新登录");
         return;
     }
     new Thread(updateFileList).Start(HomePath + Path);
 }
Esempio n. 6
0
        private void Main_Load(object sender, EventArgs e)
        {
            System.Net.ServicePointManager.DefaultConnectionLimit = 99999;
            if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty)
            {
                return;
            }
            SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token));

            Used_Lab.Text         = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024);
            DownloadListView.View = View.Details;
            new Thread(updateFileList).Start(HomePath + Path);
        }
Esempio n. 7
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty)
            {
                MessageBox.Show("你还未登录呢");
                return;
            }
            if (Info_Lab.Text == "正在刷新...")
            {
                return;
            }
            Info_Lab.Text = "正在刷新...";
            SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token));

            Used_Lab.Text = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024);
            new Thread(updateFileList).Start(HomePath + Path);
        }
 private void Create_Button_Click(object sender, EventArgs e)
 {
     if (Name_Textbox.Text == string.Empty)
     {
         MessageBox.Show("请输入名字!");
         return;
     }
     if (ContainsStringList(Name_Textbox.Text, new string[] { "\\", "?", "|", "\"", ">", "<", ":", "*", ".", "\r", "\n", "\r\n", " ", "\0", "\x08" }))
     {
         MessageBox.Show("文件夹名字存在非法字符!");
         return;
     }
     if (WebTool.GetHtml(string.Format("https://pcs.baidu.com/rest/2.0/pcs/file?method=mkdir&access_token={0}&path={1}", Program.config.Access_Token, path + "/" + Name_Textbox.Text)).Contains("ERROR"))
     {
         MessageBox.Show("创建失败,可能是目录已存在!");
     }
     this.Close();
 }
Esempio n. 9
0
 private void  除ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < FilelistView.SelectedIndices.Count; i++)
     {
         if (!Fileinfo.ContainsKey(FilelistView.SelectedItems[i].Text))
         {
             MessageBox.Show("出现了未知错误! 请刷新重试");
             return;
         }
         DiskFileInfo info = Fileinfo[FilelistView.SelectedItems[i].Text];
         if (WebTool.GetHtml(string.Format("https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&access_token={0}&path={1}", Program.config.Access_Token, info.path)).Contains("ERROR"))
         {
             MessageBox.Show("删除失败");
             return;
         }
     }
     new Thread(updateFileList).Start(HomePath + Path);
 }
        public DiskFileInfo[] getFileList()
        {
            if (isdir != 1)
            {
                return(null);
            }
            ArrayList FileList = new ArrayList();
            JObject   jobj     = JObject.Parse(WebTool.GetHtml($"https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token={Program.config.Access_Token}&path=" + Uri.EscapeDataString(path)));

            foreach (JObject job in jobj["list"])
            {
                DiskFileInfo fileinfo = JsonConvert.DeserializeObject <BaiduPanDownload.Data.DiskFileInfo>(job.ToString());
                if (fileinfo.isdir == 1)
                {
                    foreach (DiskFileInfo info in fileinfo.getFileList())
                    {
                        FileList.Add(info);
                    }
                    continue;
                }
                FileList.Add(fileinfo);
            }
            return((DiskFileInfo[])FileList.ToArray(typeof(DiskFileInfo)));
        }