Add files via upload

This commit is contained in:
Bouletmarc 2023-02-17 04:33:53 -05:00 committed by GitHub
parent 03e283b380
commit c54be7fd03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 953 additions and 332 deletions

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.115.5" newVersion="1.0.115.5" />
<assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.116.0" newVersion="1.0.116.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>

278
Form1.Designer.cs generated
View File

@ -33,20 +33,28 @@
this.textBox1 = new System.Windows.Forms.TextBox();
this.chromiumWebBrowser1 = new CefSharp.WinForms.ChromiumWebBrowser();
this.textBox2 = new System.Windows.Forms.TextBox();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.textBoxURL = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.chromiumWebBrowser2 = new CefSharp.WinForms.ChromiumWebBrowser();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.textBox4 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.labelTotal = new System.Windows.Forms.Label();
this.labelToday = new System.Windows.Forms.Label();
this.labelFailed = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.button1 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 109);
this.label1.Location = new System.Drawing.Point(12, 74);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(75, 13);
this.label1.TabIndex = 0;
@ -54,126 +62,213 @@
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(93, 106);
this.textBox1.Location = new System.Drawing.Point(113, 71);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(369, 20);
this.textBox1.TabIndex = 1;
this.textBox1.Click += new System.EventHandler(this.textBox1_Click);
//
// chromiumWebBrowser1
//
this.chromiumWebBrowser1.ActivateBrowserOnCreation = false;
// TODO: Échec de la génération du code de '' en raison de l'exception 'Type Primitive non valide : System.IntPtr. Utilisez CodeObjectCreateExpression à la place.'.
this.chromiumWebBrowser1.Location = new System.Drawing.Point(12, 301);
this.chromiumWebBrowser1.Location = new System.Drawing.Point(12, 341);
this.chromiumWebBrowser1.Name = "chromiumWebBrowser1";
this.chromiumWebBrowser1.Size = new System.Drawing.Size(470, 245);
this.chromiumWebBrowser1.Size = new System.Drawing.Size(470, 505);
this.chromiumWebBrowser1.TabIndex = 2;
this.chromiumWebBrowser1.LoadingStateChanged += new System.EventHandler<CefSharp.LoadingStateChangedEventArgs>(this.chromiumWebBrowser1_LoadingStateChanged);
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(12, 132);
this.textBox2.Location = new System.Drawing.Point(12, 115);
this.textBox2.Multiline = true;
this.textBox2.Name = "textBox2";
this.textBox2.ReadOnly = true;
this.textBox2.Size = new System.Drawing.Size(470, 163);
this.textBox2.Size = new System.Drawing.Size(470, 125);
this.textBox2.TabIndex = 3;
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"Gatter Firefox History",
"Load Playlist URL"});
this.comboBox1.Location = new System.Drawing.Point(61, 51);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(219, 21);
this.comboBox1.TabIndex = 4;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 54);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(37, 13);
this.label2.TabIndex = 5;
this.label2.Text = "Mode:";
//
// textBoxURL
//
this.textBoxURL.Location = new System.Drawing.Point(61, 78);
this.textBoxURL.Name = "textBoxURL";
this.textBoxURL.Size = new System.Drawing.Size(343, 20);
this.textBoxURL.TabIndex = 7;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(12, 81);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(32, 13);
this.label3.TabIndex = 6;
this.label3.Text = "URL:";
//
// button1
//
this.button1.Location = new System.Drawing.Point(410, 76);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(52, 23);
this.button1.TabIndex = 8;
this.button1.Text = "Load";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// chromiumWebBrowser2
//
this.chromiumWebBrowser2.ActivateBrowserOnCreation = false;
// TODO: Échec de la génération du code de '' en raison de l'exception 'Type Primitive non valide : System.IntPtr. Utilisez CodeObjectCreateExpression à la place.'.
this.chromiumWebBrowser2.Location = new System.Drawing.Point(488, 301);
this.chromiumWebBrowser2.Name = "chromiumWebBrowser2";
this.chromiumWebBrowser2.Size = new System.Drawing.Size(470, 245);
this.chromiumWebBrowser2.TabIndex = 9;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(487, 3);
this.textBox3.Location = new System.Drawing.Point(12, 242);
this.textBox3.Multiline = true;
this.textBox3.Name = "textBox3";
this.textBox3.ReadOnly = true;
this.textBox3.Size = new System.Drawing.Size(470, 292);
this.textBox3.Size = new System.Drawing.Size(470, 93);
this.textBox3.TabIndex = 10;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(298, 54);
this.label4.Location = new System.Drawing.Point(181, 25);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(70, 13);
this.label4.Size = new System.Drawing.Size(87, 13);
this.label4.TabIndex = 11;
this.label4.Text = "Downloaded:";
this.label4.Text = "Download today:";
//
// button2
//
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button2.Location = new System.Drawing.Point(15, 6);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(143, 36);
this.button2.TabIndex = 12;
this.button2.Text = "START";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// folderBrowserDialog1
//
this.folderBrowserDialog1.Description = "Open location where to save downloaded files";
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(113, 48);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(369, 20);
this.textBox4.TabIndex = 14;
this.textBox4.Click += new System.EventHandler(this.textBox4_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 51);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(98, 13);
this.label2.TabIndex = 13;
this.label2.Text = "Download location:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(181, 6);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(86, 13);
this.label3.TabIndex = 15;
this.label3.Text = "Download totals:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(332, 6);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(86, 13);
this.label5.TabIndex = 16;
this.label5.Text = "Download failed:";
//
// labelTotal
//
this.labelTotal.AutoSize = true;
this.labelTotal.Location = new System.Drawing.Point(278, 6);
this.labelTotal.Name = "labelTotal";
this.labelTotal.Size = new System.Drawing.Size(13, 13);
this.labelTotal.TabIndex = 17;
this.labelTotal.Text = "0";
//
// labelToday
//
this.labelToday.AutoSize = true;
this.labelToday.Location = new System.Drawing.Point(278, 25);
this.labelToday.Name = "labelToday";
this.labelToday.Size = new System.Drawing.Size(13, 13);
this.labelToday.TabIndex = 18;
this.labelToday.Text = "0";
//
// labelFailed
//
this.labelFailed.AutoSize = true;
this.labelFailed.Location = new System.Drawing.Point(427, 6);
this.labelFailed.Name = "labelFailed";
this.labelFailed.Size = new System.Drawing.Size(13, 13);
this.labelFailed.TabIndex = 19;
this.labelFailed.Text = "0";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(308, 25);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(113, 13);
this.label6.TabIndex = 20;
this.label6.Text = "Seconds before failed:";
//
// numericUpDown1
//
this.numericUpDown1.Increment = new decimal(new int[] {
5,
0,
0,
0});
this.numericUpDown1.Location = new System.Drawing.Point(427, 23);
this.numericUpDown1.Maximum = new decimal(new int[] {
180,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
10,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(55, 20);
this.numericUpDown1.TabIndex = 21;
this.numericUpDown1.Value = new decimal(new int[] {
60,
0,
0,
0});
this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 92);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(317, 23);
this.button1.TabIndex = 22;
this.button1.Text = "Select folder to add all songs names to downloaded list";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button3
//
this.button3.ForeColor = System.Drawing.Color.Red;
this.button3.Location = new System.Drawing.Point(335, 92);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(147, 23);
this.button3.TabIndex = 23;
this.button3.Text = "Clear downloaded list";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(969, 558);
this.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.ClientSize = new System.Drawing.Size(497, 858);
this.Controls.Add(this.button3);
this.Controls.Add(this.button1);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label6);
this.Controls.Add(this.labelFailed);
this.Controls.Add(this.labelToday);
this.Controls.Add(this.labelTotal);
this.Controls.Add(this.label5);
this.Controls.Add(this.label3);
this.Controls.Add(this.textBox4);
this.Controls.Add(this.label2);
this.Controls.Add(this.button2);
this.Controls.Add(this.label4);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.chromiumWebBrowser2);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBoxURL);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.chromiumWebBrowser1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "Form1";
this.Text = "Youtube2MP3 - Bot by Bouletmarc";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@ -185,14 +280,21 @@
private System.Windows.Forms.TextBox textBox1;
private CefSharp.WinForms.ChromiumWebBrowser chromiumWebBrowser1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBoxURL;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button button1;
private CefSharp.WinForms.ChromiumWebBrowser chromiumWebBrowser2;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label labelTotal;
private System.Windows.Forms.Label labelToday;
private System.Windows.Forms.Label labelFailed;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button3;
}
}

724
Form1.cs
View File

@ -16,7 +16,9 @@ using System.Windows.Forms;
using BrowserHistoryGatherer;
using Microsoft.Win32;
using CefSharp;
//using CefSharp.Example.Handlers;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolBar;
using System.Runtime.InteropServices.ComTypes;
namespace Youtube2MP3
{
@ -26,13 +28,21 @@ namespace Youtube2MP3
string YoutubeSearchString = "tube.com/watch";
List<string> URL_List = new List<string>();
List<string> URL_Done_List = new List<string>();
List<string> SongNames_List = new List<string>();
List<string> SongNames_Done_List = new List<string>();
string LastDoneURL = "";
string YT2MP3 = "https://mp3y.download/fr/your-mp3-convert";
bool IsDownloading = false;
string DownloadedFilename = "";
string DownloadsDirectoryPath = "C:\\Users\\" + Environment.UserName + "\\Downloads\\";
public string DownloadsDirectoryPath = "C:\\Users\\" + Environment.UserName + "\\Downloads\\";
int DownloadCountToday = 0;
int DownloadCountFailed = 0;
bool IsRunning = false;
int IntervalInSecondsBetweenNextSong = 5;
bool RetryDownloadFailed = false;
int RetryFailedCount = 0;
bool IsLoadingSettings = true;
static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
@ -40,19 +50,35 @@ namespace Youtube2MP3
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern short VkKeyScan(char ch);
//####################################
/*[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
//Mouse actions
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;*/
//####################################
// Get a handle to an application window.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
// Activate an application window.
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
//####################################
public Form1()
{
InitializeComponent();
if (Directory.Exists(@"C:\Users\boule\Desktop\Musique 2022\"))
{
textBox1.Text = "C:\\Users\\boule\\Desktop\\Musique 2022\\";
}
myTimer.Tick += new EventHandler(TimerEventProcessor);
myTimer.Interval = 10000;
myTimer.Interval = IntervalInSecondsBetweenNextSong * 1000;
comboBox1.SelectedIndex = 0;
textBox2.Text = "";
textBox3.Visible = true;
//Load URL done
string ThisFileCheck = Application.StartupPath + "\\URLDone.txt";
@ -61,67 +87,274 @@ namespace Youtube2MP3
string[] AllLines = File.ReadAllLines(ThisFileCheck);
foreach (string Line in AllLines)
{
URL_Done_List.Add(Line);
URL_Done_List.Add(removeListfromURL(Line));
}
if (URL_Done_List.Count >= 1)
{
textBoxURL.Text = URL_Done_List[URL_Done_List.Count - 1];
comboBox1.SelectedIndex = 1;
}
SetDownloadCounts();
label4.Text = "Downloaded: " + DownloadCountToday + "/" + URL_Done_List.Count + " (failed:" + DownloadCountFailed + ")";
AddText("Found " + labelTotal.Text + " already done downloads links!");
}
else
{
File.Create(ThisFileCheck).Dispose();
}
//Load name song list
ThisFileCheck = Application.StartupPath + "\\SongNamesDone.txt";
if (File.Exists(ThisFileCheck))
{
LoadMP3DoneList();
AddText("Found " + SongNames_Done_List.Count + " already done song names!");
}
//Load Settings
ThisFileCheck = Application.StartupPath + "\\Setting.txt";
if (File.Exists(ThisFileCheck))
{
string[] AllLines = File.ReadAllLines(ThisFileCheck);
if (AllLines.Length > 0)
{
textBox1.Text = AllLines[0];
}
if (AllLines.Length > 1)
{
textBox4.Text = AllLines[1];
DownloadsDirectoryPath = textBox4.Text;
}
if (AllLines.Length > 2)
{
numericUpDown1.Value = int.Parse(AllLines[2]);
}
}
else
{
SaveSettings();
}
//########
chromiumWebBrowser1.LoadUrl(YT2MP3);
chromiumWebBrowser1.DownloadHandler = new MyCustomDownloadHandler();
myTimer.Start();
//myTimer.Start();
CheckLocations();
IsFirefoxRunning();
IsLoadingSettings = false;
}
private string removeListfromURL(string ThisURLLi)
{
string returnURL = ThisURLLi;
if (ThisURLLi.Contains("&list="))
{
returnURL = ThisURLLi.Substring(0, ThisURLLi.IndexOf("&list="));
}
if (returnURL == "https://www.youtube.com/watch?v=")
{
returnURL = ThisURLLi;
}
return returnURL;
}
private void SaveSettings()
{
string ThisFileCheck = Application.StartupPath + "\\Setting.txt";
File.Create(ThisFileCheck).Dispose();
File.WriteAllText(ThisFileCheck, textBox1.Text + Environment.NewLine + textBox4.Text + Environment.NewLine + numericUpDown1.Value.ToString());
}
private void button2_Click(object sender, EventArgs e)
{
if (!IsRunning)
{
AddText("Bot will start in " + IntervalInSecondsBetweenNextSong.ToString() + " seconds!");
myTimer.Start();
button2.Text = "STOP";
IsRunning = true;
}
else
{
myTimer.Stop();
button2.Text = "START";
IsRunning = false;
if (RetryFailedCount > 0)
{
RetryFailedCount = 0;
}
}
}
/*public void DoMouseClick()
{
//Call the imported function with the cursor's current position
uint X = (uint)Cursor.Position.X;
uint Y = (uint)Cursor.Position.Y;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
}*/
private void CheckLocations()
{
if (textBox1.Text == "" || textBox4.Text == "")
{
button2.Enabled = false;
AddText("Select path's before running bot...");
}
else
{
button2.Enabled = true;
}
}
private void IsFirefoxRunning()
{
IntPtr ThisHandlee = FindWindow("MozillaWindowClass", null);
if (ThisHandlee == IntPtr.Zero)
{
AddText("Firefox is not running...");
}
}
private void FocusFirefox()
{
IntPtr ThisHandlee = FindWindow("MozillaWindowClass", null);
if (ThisHandlee == IntPtr.Zero)
{
AddText("Firefox is not running...");
return;
}
SetForegroundWindow(ThisHandlee);
Thread.Sleep(250);
UnfocusAddressbar();
}
private void UnfocusFirefox()
{
IntPtr ThisHandlee = this.Handle;
if (ThisHandlee == IntPtr.Zero)
{
AddText("Youtube2MP3 is not running...");
return;
}
SetForegroundWindow(ThisHandlee);
Application.DoEvents();
Thread.Sleep(250);
}
private void UnfocusAddressbar()
{
//make it pop the search bar (Ctrl+F), then close it
SendKeys.Send("^{f}");
Thread.Sleep(250);
SendKeys.Send("{ESC}");
Thread.Sleep(250);
}
private string getFirefoxURL()
{
FocusFirefox();
SendKeys.Send(" "); //send SPACE (in case the video is stopped and not playing)
Thread.Sleep(250);
SendKeys.Send("{F6}"); //send F6 (firefox shortcut to focus address bar)
Thread.Sleep(250);
SendKeys.Send("^{c}"); //send Ctrl+C (copy to clipboard shortcut)
Thread.Sleep(250);
string BuffStr = Clipboard.GetText(); //get clipboard data
UnfocusFirefox();
return BuffStr;
}
private string getFirefoxTitle()
{
string Tittle = "";
try
{
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("firefox");
if (p.Length > 0)
{
for (int i = 0; i < p.Length; i++)
{
if (p[i].MainWindowTitle != "")
{
//loud-sometimes-all-the-time-official-video-ft-charlotte-cardin.mp3
//loud_-_sometimes,_all_the_time_(official_video)_ft._charlotte_cardin
string bufff = p[i].MainWindowTitle.Replace(" - YouTube — Mozilla Firefox", "");
Tittle = FixSongString(bufff);
}
}
}
}
catch { }
return Tittle;
}
private string FixSongString(string ThisStr)
{
string Fixed = ThisStr.ToLower().Replace(" ", "-");
Fixed = string.Concat(Fixed.Split(Path.GetInvalidFileNameChars()));
Fixed = Fixed.Replace("---", "-").Replace(",", "").Replace(".", "").Replace("(", "").Replace(")", "").Replace("[", "").Replace("]", "");
return Fixed;
}
private void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
{
myTimer.Stop();
if (comboBox1.SelectedIndex == 0)
textBox2.Text = "";
URL_List.Clear();
SongNames_List.Clear();
string BufferURL = getFirefoxURL();
if (BufferURL.Contains(YoutubeSearchString))
{
GetURLList();
BufferURL = removeListfromURL(BufferURL);
URL_List.Add(BufferURL);
string FireTitle = getFirefoxTitle();
SongNames_List.Add(FireTitle);
AddText("URL: " + BufferURL + " (" + FireTitle + ")");
}
else if (comboBox1.SelectedIndex == 1)
else
{
textBox2.Text = "";
URL_List.Clear();
if (chromiumWebBrowser2.GetMainFrame().Url.Contains(YoutubeSearchString))
{
URL_List.Add(chromiumWebBrowser2.GetMainFrame().Url);
AddText("URL: " + chromiumWebBrowser2.GetMainFrame().Url);
}
else
{
AddText("Nothing found...");
}
AddText("Nothing found from URL link...");
AddText("link:" + BufferURL);
}
CheckThoseURL();
if (!IsRunning) return;
//Perform Next Click
if (comboBox1.SelectedIndex == 1)
if (!RetryDownloadFailed)
{
SendShiftKeyEvent();
Thread.Sleep(1000);
textBoxURL.Text = chromiumWebBrowser2.GetMainFrame().Url;
AddText("Next video...");
chromiumWebBrowser1.LoadUrl(YT2MP3);
FocusFirefox();
SendKeys.Send("+{n}"); //send Shift+N (youtube playlist shortcut for next video)
Thread.Sleep(2000);
SendKeys.Send("{F5}"); //send F5 (firefox shortcut to refresh page, update the url link)
Thread.Sleep(100);
UnfocusFirefox();
Thread.Sleep(100);
RetryFailedCount = 0;
}
AddText("Wating " + IntervalInSecondsBetweenNextSong.ToString() + " seconds!");
myTimer.Start();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
SaveURLDone();
SaveMP3DoneList();
}
void SaveURLDone()
@ -141,19 +374,17 @@ namespace Youtube2MP3
private void CheckThoseURL()
{
foreach (string Line in URL_List)
RetryDownloadFailed = false;
for (int Loop = 0; Loop < URL_List.Count; Loop++)
{
if (!IsURLDone(Line))
string Line = URL_List[Loop];
string Line2 = SongNames_List[Loop];
if (!IsURLDone(Line) && !IsSongNameSame(Line2))
{
//Downloading This URL
AddText("Downloading: " + Line);
chromiumWebBrowser1.LoadUrl(YT2MP3);
Thread.Sleep(1000);
while (chromiumWebBrowser1.IsLoading)
{
Thread.Sleep(1);
Application.DoEvents();
}
AddText("Downloading: " + Line + " (" + Line2 + ")");
LastDoneURL = Line;
textBox2.Focus();
chromiumWebBrowser1.Focus();
@ -169,25 +400,79 @@ namespace Youtube2MP3
}
SendKeyEvent(Keys.Enter);
textBox2.AppendText("Waiting til ready");
textBox2.AppendText("Waiting til download is ready");
int WaitingTime = 0;
while ((BrowserWidth() == 1338 || BrowserWidth() <= 720) && WaitingTime < 120)
int ConvertionWidth = 0;
int WidthCheck = 0;
int ConversionTime = 0;
while ((BrowserWidth() == 1338 || BrowserWidth() <= 720) && WaitingTime < numericUpDown1.Value)
{
//#########
int ThissWidth = BrowserWidth();
if (WidthCheck == 6)
{
ConvertionWidth = ThissWidth;
}
if (WidthCheck > 6)
{
if (ThissWidth == ConvertionWidth)
{
WaitingTime--;
//if convertion time is above 2min, perform reset
if (ConversionTime > 120)
{
WaitingTime = (int)numericUpDown1.Value;
}
}
}
WidthCheck++;
//#########
textBox2.AppendText(".");
Thread.Sleep(1000);
Application.DoEvents();
WaitingTime++;
}
textBox2.AppendText(Environment.NewLine);
ConversionTime++;
if (WaitingTime == 120)
//close bot faster
if (!IsRunning) WaitingTime = (int) numericUpDown1.Value;
}
textBox2.AppendText(Environment.NewLine);
if (!IsRunning) return;
if (WaitingTime == numericUpDown1.Value)
{
AddText("Retrying file conversion...");
DownloadCountFailed++;
label4.Text = "Downloaded: " + DownloadCountToday + "/" + URL_Done_List.Count + " (failed:" + DownloadCountFailed + ")";
//DownloadCountFailed++;
//SetDownloadCounts();
RetryFailedCount++;
if (RetryFailedCount <= 1)
{
AddText("Taking too long or something went wrong converting file, retrying file conversion...");
RetryDownloadFailed = true;
chromiumWebBrowser1.LoadUrl(YT2MP3);
}
else
{
RetryFailedCount = 0;
DownloadCountFailed++;
SetDownloadCounts();
AddText("Download failed after 3times, trying new video...");
}
return;
}
//###
if (RetryFailedCount > 0)
{
RetryFailedCount = 0;
}
//###
AddText("Took " + ConversionTime.ToString() + " seconds to convert the video to mp3");
//Click the download button
IsDownloading = true;
DownloadedFilename = "";
@ -196,11 +481,12 @@ namespace Youtube2MP3
var script = @"
document.getElementsByClassName('btn-primary')[0].click();
";
textBox2.AppendText("Downloading..." + Environment.NewLine);
chromiumWebBrowser1.ExecuteScriptAsyncWhenPageLoaded(script);
//Thread.Sleep(1000);
//Check for ads and close then, retry
textBox2.AppendText("Waiting til opened");
textBox2.AppendText("Waiting til ads are opened");
int SecondsWaited = 0;
while (GetProcChildCount() == ProcessChildCount && SecondsWaited < 6)
{
@ -208,13 +494,17 @@ namespace Youtube2MP3
Thread.Sleep(1000);
Application.DoEvents();
SecondsWaited++;
}
textBox2.AppendText(Environment.NewLine);
//close bot faster
if (!IsRunning) SecondsWaited = 6;
}
textBox2.AppendText(Environment.NewLine);
if (!IsRunning) return;
//Close Process
IEnumerable<Process> childnew = ParentProcessUtilities.GetChildProcesses();
AddText("Closing new processes..");
AddText("Closing new processes(ads)..");
bool ClosedAds = false;
foreach (Process procnew in childnew)
{
@ -226,67 +516,90 @@ namespace Youtube2MP3
if (!found && !ClosedAds)
{
//if (procnew.ProcessName != Process.GetCurrentProcess().ProcessName)
//{
try
{
Process.GetProcessById(procnew.Id).CloseMainWindow();
Process.GetProcessById(procnew.Id).Dispose();
Process.GetProcessById(procnew.Id).Close();
Process.GetProcessById(procnew.Id).Kill();
Process.GetCurrentProcess().CloseMainWindow();
AddText("Closed process PID: " + procnew.Id);
Console.WriteLine("Closed process PID: " + procnew.Id);
ClosedAds = true;
//}
}
catch { }
}
}
//Restart Download
Thread.Sleep(100);
textBox2.AppendText("Starting download..." + Environment.NewLine);
chromiumWebBrowser1.ExecuteScriptAsyncWhenPageLoaded(script);
int SecondsWaitedDownload = 0;
while (IsDownloading && SecondsWaitedDownload < 1200)
while (IsDownloading && SecondsWaitedDownload < (numericUpDown1.Value * 10))
{
LoadLogs();
Thread.Sleep(100);
Application.DoEvents();
//close bot faster
if (!IsRunning) SecondsWaitedDownload = (int) (numericUpDown1.Value * 10);
}
if (SecondsWaitedDownload >= 1200)
if (!IsRunning) return;
if (SecondsWaitedDownload >= (numericUpDown1.Value * 10))
{
AddText("ERROR: Download not detected after 2mins!");
AddText("ERROR: Download not detected after " + (numericUpDown1.Value * 10) + " secends!");
DownloadCountFailed++;
label4.Text = "Downloaded: " + DownloadCountToday + "/" + URL_Done_List.Count + " (failed:" + DownloadCountFailed + ")";
SetDownloadCounts();
return;
}
if (DownloadedFilename != "")
{
//Cut and Paste the file to 'music' folder
byte[] AllByte = File.ReadAllBytes(DownloadsDirectoryPath + DownloadedFilename);
File.Create(@textBox1.Text + DownloadedFilename).Dispose();
File.WriteAllBytes(@textBox1.Text + DownloadedFilename, AllByte);
File.Delete(DownloadsDirectoryPath + DownloadedFilename);
AddText("File transfered!");
if (textBox1.Text != "")
{
//Cut and Paste the file to 'music' folder
byte[] AllByte = File.ReadAllBytes(DownloadsDirectoryPath + DownloadedFilename);
File.Create(@textBox1.Text + DownloadedFilename).Dispose();
File.WriteAllBytes(@textBox1.Text + DownloadedFilename, AllByte);
File.Delete(DownloadsDirectoryPath + DownloadedFilename);
AddText("File transfered to save location path!");
}
textBox3.AppendText(DownloadedFilename + Environment.NewLine);
}
else
{
AddText("ERROR: Downloaded filename is Null!");
DownloadCountFailed++;
label4.Text = "Downloaded: " + DownloadCountToday + "/" + URL_Done_List.Count + " (failed:" + DownloadCountFailed + ")";
SetDownloadCounts();
return;
}
//Finished, add to Done list
URL_Done_List.Add(Line);
SongNames_Done_List.Add(Line2);
DownloadCountToday++;
label4.Text = "Downloaded: " + DownloadCountToday + "/" + URL_Done_List.Count + " (failed:" + DownloadCountFailed + ")";
SetDownloadCounts();
SaveURLDone();
SaveMP3DoneList();
}
else
{
AddText("This video has already been downloaded!");
}
}
URL_List.Clear();
}
private void SetDownloadCounts()
{
labelTotal.Text = URL_Done_List.Count.ToString();
labelToday.Text = DownloadCountToday.ToString();
labelFailed.Text = DownloadCountFailed.ToString();
}
void LoadLogs()
{
@ -374,6 +687,17 @@ namespace Youtube2MP3
return false;
}
private bool IsSongNameSame(string ThisSongName)
{
foreach (string Line in SongNames_Done_List)
{
if (Line == ThisSongName) return true;
}
return false;
}
void SendKeyEvent(Keys ThisKey)
{
KeyEvent k = new KeyEvent();
@ -399,30 +723,9 @@ namespace Youtube2MP3
Thread.Sleep(10);
}
void SendShiftKeyEvent()
{
AddText("Next video...");
chromiumWebBrowser2.Focus();
chromiumWebBrowser2.GetBrowser().GetHost().SetFocus(true);
chromiumWebBrowser2.GetBrowser().GetHost().SendFocusEvent(true);
SendKeys.Send("+{n}");
Thread.Sleep(10);
}
private void chromiumWebBrowser1_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
{
//Console.WriteLine(chromiumWebBrowser1.IsLoading);
if (!chromiumWebBrowser1.IsLoading)
{
//Console.WriteLine("performed tab key");
/*chromiumWebBrowser1.GetBrowser().GetHost().SendFocusEvent(true);
Thread.Sleep(50);
SendKeyEvent(Keys.Tab);
SendKeyEvent(Keys.Tab);
SendKeyEvent(Keys.Tab);
SendKeyCharEvent(Keys.T);*/
}
}
void AddText(string ThisText)
@ -430,150 +733,143 @@ namespace Youtube2MP3
textBox2.AppendText(ThisText + Environment.NewLine);
}
void GetURLList()
private void textBox1_Click(object sender, EventArgs e)
{
URL_List.Clear();
textBox2.Text = "";
//1Minute ago
DateTime TestDt = DateTime.Now - new TimeSpan(0, 5, 0);
var history = BrowserHistory.GetHistory(Browser.Firefox, TestDt);
int donecount = 0;
foreach (var entry in history)
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
if (entry.Uri.ToString().Contains(YoutubeSearchString))
{
URL_List.Add(entry.Uri.ToString());
AddText("Found URL: " + entry.Uri.ToString());
}
//Console.WriteLine(entry.Uri);
//Console.WriteLine(entry.Title);
//Console.WriteLine(entry.LastVisitTime);
donecount++;
if (donecount > 20) return;
}
if (history.Count == 0)
{
AddText("Nothing found...");
textBox1.Text = folderBrowserDialog1.SelectedPath + "\\";
CheckLocations();
SaveSettings();
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
private void textBox4_Click(object sender, EventArgs e)
{
textBox2.Text = "";
AddText("Chanded mode: " + comboBox1.Text);
if (comboBox1.SelectedIndex == 0)
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
myTimer.Stop();
textBoxURL.Enabled = false;
this.Size = new Size(512, 597);
chromiumWebBrowser2.Visible = false;
textBox3.Visible = false;
myTimer.Start();
textBox4.Text = folderBrowserDialog1.SelectedPath + "\\";
DownloadsDirectoryPath = textBox4.Text;
CheckLocations();
SaveSettings();
}
else if (comboBox1.SelectedIndex == 1)
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if (!IsLoadingSettings)
{
myTimer.Stop();
textBoxURL.Enabled = true;
this.Size = new Size(982, 597);
chromiumWebBrowser2.Visible = true;
textBox3.Visible = true;
if (textBoxURL.Text != string.Empty)
SaveSettings();
}
}
private void SaveMP3ListToDoneFiles(List<string> MP3List)
{
int IdenticalCount = 0;
int AddedCount = 0;
for (int i = 0; i < MP3List.Count; i++)
{
bool FoundSame = false;
for (int k = 0; k < SongNames_Done_List.Count; k++)
{
chromiumWebBrowser2.LoadUrl(textBoxURL.Text);
if (SongNames_Done_List[k] == MP3List[i])
{
FoundSame = true;
k = SongNames_Done_List.Count;
}
}
if (!FoundSame)
{
SongNames_Done_List.Add(MP3List[i]);
AddedCount++;
}
else
{
chromiumWebBrowser2.LoadUrl("https://www.youtube.com/");
IdenticalCount++;
}
}
AddText("Added " + AddedCount + " done song names!");
AddText(IdenticalCount + " song names were identicals!");
//save dones
SaveMP3DoneList();
}
private void SaveMP3DoneList()
{
string ThisFileCheck = Application.StartupPath + "\\SongNamesDone.txt";
File.Create(ThisFileCheck).Dispose();
if (SongNames_Done_List.Count > 0)
{
string[] ListBuffer = new string[SongNames_Done_List.Count];
for (int i = 0; i < SongNames_Done_List.Count; i++)
{
ListBuffer[i] = SongNames_Done_List[i];
}
File.WriteAllLines(ThisFileCheck, ListBuffer);
}
LoadMP3DoneList();
}
private void LoadMP3DoneList()
{
SongNames_Done_List.Clear();
string ThisFileCheck = Application.StartupPath + "\\SongNamesDone.txt";
if (File.Exists(ThisFileCheck))
{
string[] AllLines = File.ReadAllLines(ThisFileCheck);
foreach (string Line in AllLines)
{
if (Line != "")
{
SongNames_Done_List.Add(FixSongString(Line));
}
}
myTimer.Start();
}
}
private void button1_Click(object sender, EventArgs e)
{
if (textBoxURL.Text != string.Empty)
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
chromiumWebBrowser2.LoadUrl(textBoxURL.Text);
string[] AllFiles = Directory.GetFiles(folderBrowserDialog1.SelectedPath + "\\");
if (AllFiles.Length > 0)
{
List<string> AllMP3Done = new List<string>();
for (int i = 0; i < AllFiles.Length; i++)
{
string filename = Path.GetFileName(AllFiles[i]);
if (filename.ToLower().Contains(".mp3"))
{
AllMP3Done.Add(filename.Replace(".mp3", "").Replace(".MP3", ""));
}
}
SaveMP3ListToDoneFiles(AllMP3Done);
}
else
{
AddText("0 files found!");
}
}
}
//#######################################################
class MyCustomDownloadHandler : IDownloadHandler
private void button3_Click(object sender, EventArgs e)
{
public event EventHandler<DownloadItem> OnBeforeDownloadFired;
public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
void SaveLogs(string ThisText)
{
string SavePath = Application.StartupPath + "\\DownloadLogs.txt";
bool Done = false;
while (!Done)
{
try
{
if (!File.Exists(SavePath)) File.Create(SavePath).Dispose();
File.AppendAllText(SavePath, ThisText + Environment.NewLine);
Done = true;
}
catch { }
}
}
public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
if (downloadItem.IsValid)
{
SaveLogs("== File information ========================");
SaveLogs("File URL: " + downloadItem.Url);
SaveLogs("Suggested FileName: " + downloadItem.SuggestedFileName);
//SaveLogs("MimeType: " + downloadItem.MimeType);
//SaveLogs("Content Disposition: " + downloadItem.ContentDisposition);
SaveLogs("Total Size: " + (downloadItem.TotalBytes / 1000000));
SaveLogs("============================================");
}
OnBeforeDownloadFired?.Invoke(this, downloadItem);
if (!callback.IsDisposed)
{
using (callback)
{
string DownloadsDirectoryPath = "C:\\Users\\" + Environment.UserName + "\\Downloads\\";
callback.Continue(
Path.Combine(
DownloadsDirectoryPath,
downloadItem.SuggestedFileName
),
showDialog: false
);
}
}
}
public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
OnDownloadUpdatedFired?.Invoke(this, downloadItem);
if (downloadItem.IsValid)
{
// Show progress of the download
if (downloadItem.IsInProgress && (downloadItem.PercentComplete != 0))
{
SaveLogs("Current Download Speed: " + (downloadItem.CurrentSpeed / 1000000) + " mB/s (" + downloadItem.PercentComplete + "%)");
}
if (downloadItem.IsComplete)
{
SaveLogs("The download has been finished !");
}
}
}
AddText("Downloaded files cleared!");
SongNames_Done_List.Clear();
SaveMP3DoneList();
}
}
}

View File

@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

110
MyCustomDownloadHandler.cs Normal file
View File

@ -0,0 +1,110 @@
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Timers;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using BrowserHistoryGatherer;
using Microsoft.Win32;
using CefSharp;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace Youtube2MP3
{
class MyCustomDownloadHandler : IDownloadHandler
{
public event EventHandler<DownloadItem> OnBeforeDownloadFired;
public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
public event EventHandler<DownloadItem> CanDownloadFired;
void SaveLogs(string ThisText)
{
string SavePath = Application.StartupPath + "\\DownloadLogs.txt";
bool Done = false;
while (!Done)
{
try
{
if (!File.Exists(SavePath)) File.Create(SavePath).Dispose();
File.AppendAllText(SavePath, ThisText + Environment.NewLine);
Done = true;
}
catch { }
}
}
public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
if (downloadItem.IsValid)
{
SaveLogs("== File information ========================");
SaveLogs("File URL: " + downloadItem.Url);
SaveLogs("Suggested FileName: " + downloadItem.SuggestedFileName);
//SaveLogs("MimeType: " + downloadItem.MimeType);
//SaveLogs("Content Disposition: " + downloadItem.ContentDisposition);
SaveLogs("Total Size: " + (downloadItem.TotalBytes / 1000000));
SaveLogs("============================================");
}
OnBeforeDownloadFired?.Invoke(this, downloadItem);
if (!callback.IsDisposed)
{
using (callback)
{
string DownloadPath = "";
//Load Save location
string ThisFileCheck = Application.StartupPath + "\\Setting.txt";
if (File.Exists(ThisFileCheck))
{
string[] AllLines = File.ReadAllLines(ThisFileCheck);
if (AllLines.Length > 1)
{
DownloadPath = AllLines[1];
}
}
else
{
SaveLogs("Cannot fint the download folder path!");
}
callback.Continue(Path.Combine(DownloadPath, downloadItem.SuggestedFileName), showDialog: false);
}
}
}
public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
OnDownloadUpdatedFired?.Invoke(this, downloadItem);
if (downloadItem.IsValid)
{
// Show progress of the download
if (downloadItem.IsInProgress && (downloadItem.PercentComplete != 0))
{
SaveLogs("Current Download Speed: " + (downloadItem.CurrentSpeed / 1000000) + " mB/s (" + downloadItem.PercentComplete + "%)");
}
if (downloadItem.IsComplete)
{
SaveLogs("The download has been finished !");
}
}
}
public bool CanDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, string url, string requestMethod)
{
return true;
}
}
}

View File

@ -19,7 +19,7 @@ namespace Youtube2MP3.Properties {
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
// avec l'option /str ou régénérez votre projet VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {

View File

@ -12,7 +12,7 @@ namespace Youtube2MP3.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="packages\CefSharp.Common.98.1.210\build\CefSharp.Common.props" Condition="Exists('packages\CefSharp.Common.98.1.210\build\CefSharp.Common.props')" />
<Import Project="packages\cef.redist.x86.98.1.21\build\cef.redist.x86.props" Condition="Exists('packages\cef.redist.x86.98.1.21\build\cef.redist.x86.props')" />
<Import Project="packages\CefSharp.Common.106.0.290\build\CefSharp.Common.props" Condition="Exists('packages\CefSharp.Common.106.0.290\build\CefSharp.Common.props')" />
<Import Project="packages\cef.redist.x86.106.0.29\build\cef.redist.x86.props" Condition="Exists('packages\cef.redist.x86.106.0.29\build\cef.redist.x86.props')" />
<Import Project="packages\SQLite.3.13.0\build\net45\SQLite.props" Condition="Exists('packages\SQLite.3.13.0\build\net45\SQLite.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@ -11,7 +11,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>Youtube2MP3</RootNamespace>
<AssemblyName>Youtube2MP3</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
@ -49,14 +49,14 @@
<Reference Include="BrowserHistoryGatherer">
<HintPath>dlls\BrowserHistoryGatherer.dll</HintPath>
</Reference>
<Reference Include="CefSharp, Version=98.1.210.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>packages\CefSharp.Common.98.1.210\lib\net452\CefSharp.dll</HintPath>
<Reference Include="CefSharp, Version=106.0.290.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>packages\CefSharp.Common.106.0.290\lib\net452\CefSharp.dll</HintPath>
</Reference>
<Reference Include="CefSharp.Core, Version=98.1.210.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>packages\CefSharp.Common.98.1.210\lib\net452\CefSharp.Core.dll</HintPath>
<Reference Include="CefSharp.Core, Version=106.0.290.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>packages\CefSharp.Common.106.0.290\lib\net452\CefSharp.Core.dll</HintPath>
</Reference>
<Reference Include="CefSharp.WinForms, Version=98.1.210.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>packages\CefSharp.WinForms.98.1.210\lib\net452\CefSharp.WinForms.dll</HintPath>
<Reference Include="CefSharp.WinForms, Version=106.0.290.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
<HintPath>packages\CefSharp.WinForms.106.0.290\lib\net452\CefSharp.WinForms.dll</HintPath>
</Reference>
<Reference Include="plist-cil">
<HintPath>dlls\plist-cil.dll</HintPath>
@ -64,8 +64,8 @@
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.115.5, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\lib\net45\System.Data.SQLite.dll</HintPath>
<Reference Include="System.Data.SQLite, Version=1.0.116.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\lib\net451\System.Data.SQLite.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Runtime.Serialization" />
@ -90,6 +90,7 @@
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="MyCustomDownloadHandler.cs" />
<Compile Include="ParentProcessUtilities.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
@ -130,11 +131,11 @@
<ErrorText>Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('packages\SQLite.3.13.0\build\net45\SQLite.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\SQLite.3.13.0\build\net45\SQLite.props'))" />
<Error Condition="!Exists('packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
<Error Condition="!Exists('packages\cef.redist.x86.98.1.21\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\cef.redist.x86.98.1.21\build\cef.redist.x86.props'))" />
<Error Condition="!Exists('packages\CefSharp.Common.98.1.210\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\CefSharp.Common.98.1.210\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('packages\CefSharp.Common.98.1.210\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\CefSharp.Common.98.1.210\build\CefSharp.Common.targets'))" />
<Error Condition="!Exists('packages\cef.redist.x86.106.0.29\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\cef.redist.x86.106.0.29\build\cef.redist.x86.props'))" />
<Error Condition="!Exists('packages\CefSharp.Common.106.0.290\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\CefSharp.Common.106.0.290\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('packages\CefSharp.Common.106.0.290\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\CefSharp.Common.106.0.290\build\CefSharp.Common.targets'))" />
<Error Condition="!Exists('packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
</Target>
<Import Project="packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
<Import Project="packages\CefSharp.Common.98.1.210\build\CefSharp.Common.targets" Condition="Exists('packages\CefSharp.Common.98.1.210\build\CefSharp.Common.targets')" />
<Import Project="packages\CefSharp.Common.106.0.290\build\CefSharp.Common.targets" Condition="Exists('packages\CefSharp.Common.106.0.290\build\CefSharp.Common.targets')" />
<Import Project="packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
</Project>

Binary file not shown.

View File

@ -0,0 +1 @@
afa7d688a7960ce8d92d15ddf0587669d0ecb689

View File

@ -82,8 +82,6 @@ C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\local
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\README.txt
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\resources.pak
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\snapshot_blob.bin
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\swiftshader\libEGL.dll
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\swiftshader\libGLESv2.dll
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\v8_context_snapshot.bin
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\vk_swiftshader.dll
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\vk_swiftshader_icd.json
@ -104,3 +102,113 @@ C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSh
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.Core.xml
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.WinForms.pdb
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.WinForms.xml
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\af.pak
C:\Users\boule\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ur.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\x86\sqlite3.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\x64\sqlite3.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\chrome_100_percent.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\chrome_200_percent.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\chrome_elf.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\d3dcompiler_47.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\icudtl.dat
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\libcef.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\libEGL.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\libGLESv2.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\LICENSE.txt
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\af.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\am.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ar.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\bg.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\bn.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ca.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\cs.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\da.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\de.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\el.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\en-GB.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\en-US.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\es-419.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\es.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\et.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\fa.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\fi.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\fil.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\fr.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\gu.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\he.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\hi.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\hr.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\hu.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\id.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\it.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ja.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\kn.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ko.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\lt.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\lv.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ml.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\mr.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ms.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\nb.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\nl.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\pl.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\pt-BR.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\pt-PT.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ro.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ru.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\sk.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\sl.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\sr.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\sv.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\sw.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ta.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\te.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\th.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\tr.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\uk.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\ur.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\vi.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\zh-CN.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\locales\zh-TW.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\README.txt
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\resources.pak
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\snapshot_blob.bin
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\v8_context_snapshot.bin
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\vk_swiftshader.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\vk_swiftshader_icd.json
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\vulkan-1.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.BrowserSubprocess.Core.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.BrowserSubprocess.Core.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.BrowserSubprocess.exe
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.BrowserSubprocess.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.Core.Runtime.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.Core.Runtime.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.Core.Runtime.xml
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\Youtube2MP3.exe.config
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\Youtube2MP3.exe
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\Youtube2MP3.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\BrowserHistoryGatherer.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.Core.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.WinForms.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\plist-cil.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\System.Data.SQLite.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\UrlHistoryLibrary.dll
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\BrowserHistoryGatherer.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.xml
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.Core.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.Core.xml
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.WinForms.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\CefSharp.WinForms.xml
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\System.Data.SQLite.xml
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\bin\Debug\UrlHistoryLibrary.pdb
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.csproj.AssemblyReference.cache
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.csproj.SuggestedBindingRedirects.cache
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.Form1.resources
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.Properties.Resources.resources
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.csproj.GenerateResource.cache
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.csproj.CoreCompileInputs.cache
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.csproj.CopyComplete
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.exe
C:\Users\boule\OneDrive\Documents\Visual Studio 2019\Projects\Youtube2MP3\obj\Debug\Youtube2MP3.pdb

Binary file not shown.

Binary file not shown.

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="cef.redist.x86" version="98.1.21" targetFramework="net45" />
<package id="CefSharp.Common" version="98.1.210" targetFramework="net452" />
<package id="CefSharp.WinForms" version="98.1.210" targetFramework="net452" />
<package id="cef.redist.x86" version="106.0.29" targetFramework="net452" />
<package id="CefSharp.Common" version="106.0.290" targetFramework="net452" />
<package id="CefSharp.WinForms" version="106.0.290" targetFramework="net452" requireReinstallation="true" />
<package id="SQLite" version="3.13.0" targetFramework="net45" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.115.5" targetFramework="net45" requireReinstallation="true" />
<package id="System.Data.SQLite.Core" version="1.0.115.5" targetFramework="net45" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.116.0" targetFramework="net452" requireReinstallation="true" />
<package id="System.Data.SQLite.Core" version="1.0.116.0" targetFramework="net452" />
</packages>