از اونجایی که نرم افزار IDM یا همون Internet Download Manager پولی هست و برای استفاده از اون باید پول خرج کنیم (ما ایرانیا هم خرج میکنیم D: ) ، نیازه که کرک یا ... اون رو دانلود کنیم که حوصله میخواد و دلایل دیگه بخاطر همین تصمیم گرفتم نحوه ی ساخت یه همچین نرم افزاری رو بگم که صد البته از اون ساده تره ولی در کل کاراییش عین همون با اندکی تغییرات :)
یه پروژه به زبان سی شارپ ایجاد کنین و مواردیو که میگم با Text مورد نظر که مقابلشون قرار میدم اضافه کنین به فرم
اول دو تا برچسب با متن های :
label1 ==> Link Download
label2 ==> Download path
بعدا دو تا دکمه با Text های :
button1 ==> Get Download
button2 ==> Select download path
حالا موارد پایین رو بندازین تو فرم بدون اینکه تغییری ایجاد کنین :
textBox ==> 2 number
folderBrowserDialog ==> 1 number
progressBar ==> 1 number
حالا اگه موارد پایین رو اضافه کردین ، وقتش میرسه که اینارو مرتب کنین برای اینکار چیزایی رو که میگم پشت چیزای دیگه که میگم بزارین :
label1 پشت textBox1
label2 پشت textBox2
فکر کنم اگه دیزاین منو که پایین این خط میزارم ببینید متوجه جریان بشین
" برای نمایش واضح تر تصویر ، روی اون کلیک کنین "
در کل بعد از اینکه دیزاین خودتون رو اوکی کردین به قسمت Using برین و موارد پایین رو به اون اضافه کنین :
using System.Net;
حالا بعد از namespace و تیکه کد پایین :
public partial class Form1 : Form
یه آکولاد باز میشه که شما باید کد پایین رو بریزین اول اون آکولاد
WebClient wc = new WebClient();
خب حالا دوبار روی دکمه ی Get Download کلیک کنین و کدهای پایین رو توی رویداد اون قرار بدین :
try
{
wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);
wc.DownloadFileCompleted += new AsyncCompletedEventHandler(wc_DownloadFileCompleted);
if (textBox1.TextLength == 0 || textBox2.TextLength == 0) MessageBox.Show("TextBoxs is empty !!!");
else
{
Uri imguri = new Uri(textBox1.Text);
wc.DownloadFileAsync(imguri, textBox2.Text);
}
}
catch
{
MessageBox.Show("Internet error", "Message");
}
بعد از اینکه کدهای بالا رو توی رویداد button1 ریختین ، برین توی رویداد button2 یعنی Select download path ، بعدا کدهای پایین رو کپی کنین توی اون :
folderBrowserDialog1.ShowDialog();
if (folderBrowserDialog1.SelectedPath != "") textBox2.Text = folderBrowserDialog1.SelectedPath + "\\Download." + textBox1.Text.Substring(textBox1.TextLength - 3, 3);
کدهای پایین رو هم توی خارج از یه رویداد بزارین چون بصورت متد اومدن
private void wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
private void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("Download completed","Message",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
حالا اگه کدهارو کپی کردین یکبار پروژتون رو در حالت Debug اجرا کنین و ببندید تا برنامتون کامپایل شه بعدا برین تو پوشه ی Debug و فایل اجرایی رو اجرا کنین تا نحوه ی کار رو هم بهتون بگم ، بعد از اینکه برنامه رو اجرا کردین اول از همه یه لینک به برنامه بدین بعدا روی دکمه ی Select download path بزنین در غیر اینصورت برنامه خطا میده چون قراره سه تا کارکتر آخر لینک رو بخونه و بعد از گذاشتن اسم Download روی فایل دانلودی با استفاده از TextLength ... سه تا کارکتر رو بخونه و کاری که گفتم رو بکنه ،اینم بگم فایل دانلودیتون میتونه چندین گیگابایت هم باشه و از این نظر هیچ محدودیتی وجود نخواهد داشت بعدا Get download رو انتخاب کنین که متوجه خواهین شد progressBar داره افزایش پیدا میکنه و بعد از دانلود شدن فایل یه پیغام مبنی بر دانلود تکمیل شده بهتون نمایش داده میشه و در صورتی که اینترنت شما قطع باشه و ... (هر اشکالی) برنامه بهتون پیغام Internet error نمایش میده
راستی توی این آدرس ، آموزش پیشرفته ساخت دانلود منیجر قرار داره که البته من اینجا یه آموزش ساده گفتم وگرنه اگه میخواستم اونو توضیح بدم خیلی طولانی تر از این بحثا میشد ولی در کل قرار دادم تا کسایی که دوست داشتن طبق اون آموزش ، یه دانلود منیجر پیشرفته برای خودشون ایجاد کنن
تصویر پایین هم تصویری از امتحان کردن برنامست که گفتم تست کنم و تصویرشو بزارم که بعدا نگین کار نمیکنه و ...
" برای واضح تر شدن تصویر روی اون کلیک کنین "
موفق باشید
ممنون برای وب عالیی که داری