ผมมีโค้ดๆ หนึ่ง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้void _Load()
{
Process process = new Process
{
StartInfo =
{
FileName = Properties.Settings.Default.YoutubeDlPath,
Arguments = string.Format("--ignore-errors --no-post-overwrites --output \"{0}\" {1}", @"d:\เพชรพระอุมา ภาคสมบูรณ์ ตอนที่ 28.mp4", @"https://www.youtube.com/watch?v=uTAzQoyw6pM"),
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false
},
EnableRaisingEvents = true
};
process.Exited += new EventHandler((object sender, EventArgs e) =>
{
process.Dispose();
});
Task.Run(() => process.Start()).Wait();
}
แปลกตรงที่มันรันใน winapp ไม่มีอะไรเกิดขึ้น
แต่รันใน WPF กลับทำงานปกติ
และโค้ด
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้ private void GetLink()
{
string strpettern = @"{""webCommandMetadata"":{""url"":""/watch\?v=.{10,20}\.*?list=.{25,40}\.*?index=)(\d{1,})""";//@"""url"":""/watch\?v=.*?index=)(\d{1,})""";
Regex myRegex = new Regex(strpettern, RegexOptions.None);
do
{
string html = TorServices.NetWorkTOR.getHTML (_url);
foreach (Match myMatch in new Regex(strpettern, RegexOptions.None).Matches(html))
{
string myMatchURL = "https://www.youtube.com" + (myMatch.Groups[1].Value + myMatch.Groups[2].Value).Replace(@"\u0026", "&");
if (!PlaylistAll.Contains(myMatchURL) && myMatchURL.Length < 300)
{
if (int.Parse(myMatch.Groups[2].Value) > index)
{
surl = myMatchURL;
index = int.Parse(myMatch.Groups[2].Value);
}
PlaylistAll += myMatchURL + "\n";
lblStatus.Invoke(new Action(() => lblStatus.Text = "Status:Adding>>" + myMatchURL));
dataGridView1.Invoke(new Action(() => dataGridView1.Rows.Add(YoutubeSearcher.GetTitletName(myMatchURL), myMatchURL, 0, PlaylistName)));//YoutubeSearcher.GetTitletName(myMatchURL)
i++;
}
}
if (surl != _url)
{
_url = surl;
}
}
while (surl != _url);
}
กลับใช้งานได้ดีใน winapp ส่วน wpf ใช้ไม่ได้ คือใน wpf มันไม่ดึงค่า index=1 ออกมาเหมือนใน winapp
ไม่เข้าใจว่าเกิดจาดอะไรครับ
ทั้ง winapp และ WPF ลองสร้างใหม่หลายโปรเจคแล้วผลก็ได้เหมือนเดิม ครับ
C# กับ youtube-dl
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
แปลกตรงที่มันรันใน winapp ไม่มีอะไรเกิดขึ้น
แต่รันใน WPF กลับทำงานปกติ
และโค้ด
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
กลับใช้งานได้ดีใน winapp ส่วน wpf ใช้ไม่ได้ คือใน wpf มันไม่ดึงค่า index=1 ออกมาเหมือนใน winapp
ไม่เข้าใจว่าเกิดจาดอะไรครับ
ทั้ง winapp และ WPF ลองสร้างใหม่หลายโปรเจคแล้วผลก็ได้เหมือนเดิม ครับ