ساخت مرورگر با سی شارپ :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات

به نام حق، عرض سلام و درودی خدمت دوستان و کاربران عزیز این وب و همچنین بازدیدکنندگان جدید که تازه به این وب تشریف آوردن، قدم رنجه فرمودن :) توو این پست میخوایم پروژه محور پیش بریم و یه مرورگر ساده و کوچولو با سی شارپ بنویسیم. این مرورگر برخلاف تصور عموم کد های زیادی نداره و خیلی هم ساده و شیک و مجلسیه.


اول تولباکس و دیزاین رو میچینیم. خب تولباکس هایی که ما برای اینکار نیاز داریم به شرح ذیل می باشد :)

5 تا Button

1 دونه TextBox

خب حالا یه شی جدید: 1 دونه  تب کنترل TabControl

1 دونه هم ProgressBar


خب اینارو مطابق سلیقه خودتون بچینین. ولی خاصیت اینا رو بهتون میگم:

باتن 1 برای بازگشت به صفحه قبلیه. پس مقدار text اینو بزارین Back

باتن 2 برای بازگشت به صفحه ای که ازش بازگشت کردین :) اصطلاحا بهش میگن unback یا forward. پس مقدار text اینو بزارین unback یا forward

باتن 3 برای رفریش کردن صفحه ست، مقدار text رو بزارین Refresh

باتن 4 هم برای متوقف کردن جستجوهه مقدار text رو میتونین بزارین Stop

باتن 5 هم که برای ادد کردن تب جدیده پس مقدار text رو میتونین بزارین New Tab

حالا علیه الحال به جای این باتن ها میتونین از پیکچر باکس و اینا هم برای خوشگل موشگلیش استفاده کنین که میسپارم به خودتون...

* فقط سایز تب کنترل رو تا جا دارین بزرگ کنین چون قراره صفحات وب توو تب کنترل به نمایش دربیاد...


خب میرم روو کدنویسی پروژمون. اول دو تا متغیر زیر رو به صورت گلوبال تعریف کنین ( ینی خارج از رویداد فرم و اشیا و اینا)

private WebBrowser[] browser = new WebBrowser[50];

private int browser_index = 0;

خب حالا متد زیر رو تعریف کنید برای پروگرس بار (توو رویداد پروگرس بار ننویسینا! این متدها رو جدا تعریف کنین):

void ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
int current_progress = Convert.ToInt32(e.CurrentProgress);
int total_progress = Convert.ToInt32(e.MaximumProgress);
this.progressBar1.Value = (current_progress / total_progress) * 100;
}

حالا متد زیر رو هم تعریف کنید برای تب کنترل (,, اینم همینطور):

void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.tabControl1.SelectedTab.Text = browser[tabControl1.SelectedIndex].DocumentTitle;
}

متد زیر رو هم برای ادد کردن تب جدید تعریف می کنیم:

private void AddNewTab()
{
browser_index++;
TabPage newTabPage = new TabPage("Untitled");
browser[browser_index] = new WebBrowser();
browser[browser_index].Dock = DockStyle.Fill;
browser[browser_index].Navigate("www.google.com");
newTabPage.Controls.Add(browser[browser_index]);
tabControl1.TabPages.Add(newTabPage);
tabControl1.SelectTab(newTabPage);
}

کار متد ها تموم شد حالا میریم سراغ رویدادهای اشیا...

اول رویداد فرم لود Form_Load:

TabPage mainPage = new TabPage("Google");
browser[browser_index] = new WebBrowser();
browser[browser_index].Dock = DockStyle.Fill;
browser[browser_index].Navigate("www.google.com");
mainPage.Controls.Add(browser[browser_index]);
tabControl1.TabPages.Add(mainPage);

بعدش هم رویداد باتن1 (Back):

browser[browser_index].GoBack();

حالا رویداد باتن2 (Forward):

browser[browser_index].GoForward();
بعدش هم رویداد باتن3 (Refresh):

browser[browser_index].Refresh();

حالا رویداد باتن4 (Stop):

browser[browser_index].Stop();
بعدش هم رویداد باتن5 (New Tab):

AddNewTab();

حالا کد زیر رو هم برای رویداد Key_press تکست باکس بنویسین تا وقتی روو تکست باکس اینتر کردیم، بره به آدرسی که تووش دادیم:

if (e.KeyCode == Keys.Enter)
{
browser[tabControl1.SelectedIndex].Navigate(textBox1.Text);
browser[tabControl1.SelectedIndex].DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
browser[tabControl1.SelectedIndex].ProgressChanged += new WebBrowserProgressChangedEventHandler(ProgressChanged);
}

حله
دیگه بقیش به خودتون بستگی داره چیزی میخواین اضافه یا کم کنین یا خوشگل موشگل تر کنین.
اینم پروژه من:

بعد انتظار نداشته باشین این مرورگر واستون تخم مرغ دو زرده  کنه :|  همین که باهاش بشه وب گردی کرد جای شکرش باقیه خدا بده برکت D: اگه راس میگین خودتون یکی توپش رو بنویسین :)

خسته نباشید من دیگه با اجازتون برم اگه کم و کسری بود به بزرگی خودتون ببخشید، شاید یه مدت نباشم یا کمتر بیام یا یه مدت پست نزارم دیگه به بزرگی خودتون ببخشید. زندگی و مشکلاتش. ولی قول میدم اگه بشه همه ی سعی ام رو بکنم که خدمت شما عزیزان دل باشم.
 ایران هم که مثل همیشه پرچمش بالاست

نظر (۷)

قربون اتکر خودم!

دستت درد نکنه

اتکر به نظرت یه همچین چیزی میشه برا پایتون نوشت؟

 

Virus32 Attacker 32 :
سلام کیلر عزیزم، فدات،  باید بشه آره حالا باز اتریب جان توو حوضه پایتون با تجربه تره 

_______________________
آره که میشه با پای کیوت

خیییلی عالی بود :) :):):):):):):):):):):)

ترکوندی اتکر :)

Virus32 MR_C0D3R :
:| 
Attacker 32 :
فدات شم نیموس جون نظر لطفته D:

سلام

به چی بستگی داره که سرعت مرورگر بیشتر بشه

مثلا فرقش با گوگل کروم چیه ؟

Virus32 Attacker 32 :
سلام عزیز، این مرورگر ما از موتور ie برای جستجو استفاده میکنه
و سرعتش هم بسته به ie هه
هر فرقی که ie با chrome داره، اینم داره D;

تنکیو اتکر گل

Virus32 Attacker 32 :
قربونت

ببخشید من می خوام c#یاد بگیرم از چه منابعی باید استفاده بکنم

 

Virus32 Attacker 32 :
اول یه سری ساختار اولیه و مفاهیم و کامپایلر و مقدمات رو یاد بگیر که توو بخش کتاب ها گذاشتیم واست.
بعد طبق همین وب پروژه محور میتونی پیش بری و همچنین به اینجا بسنده نکن، خودت سخت کار کن...

دارم اینو یکمی با یه api تغییر میدم شاید یه وی پی ان بسازم البته اونقدر امن نیس دارم از api یه سایت رایگان استفاده می کنم

Virus32 ATTRIB 32 :
بسیار عالی

میشه بجای خود وب بروزر ویژوال استودیو که از اینترنت اکسپلورر استفاده میکنه از cefsharp استفاده کرد که از مرورگر کرومیوم استفاده میکنه.

 

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی