# Native Code > برنامه نویسی در 6 VB >  کمک برای ساخت مرورگر وب

## ho3ein.3ven

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

----------


## محسن واژدی

سلام
کد زیر صفحه جدید را در یک فرم جدید نمایش میدهد اما میتوانید با مقداری تغییر آنرا بصورتی که میخواهید تبدیل کنید:
 
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean) 
    Dim frm As New Form1 
    frm.WebBrowser1.RegisterAsBrowser = True 
    Set ppDisp = frm.WebBrowser1.Object 
    frm.Visible = True 
End Sub  

موفق باشید

----------


## ho3ein.3ven

> سلام
> کد زیر صفحه جدید را در یک فرم جدید نمایش میدهد اما میتوانید با مقداری تغییر آنرا بصورتی که میخواهید تبدیل کنید:
>  
> Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean) 
> Dim frm As New Form1 
> frm.WebBrowser1.RegisterAsBrowser = True 
> Set ppDisp = frm.WebBrowser1.Object 
> frm.Visible = True 
> End Sub  
> ...


با تشکر از شما به خاطر پاسختون
من این تکه کد رو اضافه که کردم برنامه ارور میده.
فک می کنم ocx web browser که استفاده می کنیم با هم فرق کنن.مال من این متد ها و مشخصه ها رو اصلا نداره همشون ارور میدن. به هر حال ممنون از شما

----------


## ho3ein.3ven

دوستان کسی نظری نداره ؟

----------


## محسن واژدی

سلام
چه قسمتی از کدها مشکل دارد؟ چون در هر دو نسخه IE7,8 بدون مشکل اجرا میشوند!

----------


## ali.mousavi

يک مرور گر کامل :

----------


## ho3ein.3ven

اگر ممکنه ocx web browser  رو برام بزارید.

----------


## سید حمید حق پرست

سلام
در خود ویندوز هست
عبارت ieframe.dll رو در سیستمت جستوجو کن

موفق باشی



یا علی (ع)

----------


## سید حمید حق پرست

بازم سلام خدمت دوستان
اینم سه تا وب بروزر واسه شما

موفق باشی


یا علی (ع)

----------


## ho3ein.3ven

مشکلم حل نشد.
ieframe.dll رو سرچ کردم . بعد به رفرنس ها اضافش کردم اما بازم درست نشد.
اگه ممکنه یکی کامپوننت web browser رو بزاره

----------


## سید حمید حق پرست

سلام .  اینم همون چیزی که میخواستی . تقریبا یک بروزر کامله . اگه روش کار کنی کاملتر میشه:

http://s1.picofile.com/file/73000610...wser3.rar.html


موفق باشی


یا علی (ع)

----------


## ho3ein.3ven

کسی کامپوننت رو نمی زاره ؟

----------


## سید حمید حق پرست

دوست عزیز بیا اینم لینک :
http://www.dll-files.com/dllindex/dl....shtml?ieframe

موفق باشی

----------


## ho3ein.3ven

بابا dll ش رو دارم.کامپوننتش و ندارم.

----------


## سید حمید حق پرست

کامپوننت اینو من ندیدم همه از دی ال ال اون استفاده میکنن . شما مشکلت با این دی ال ال چیه؟

----------


## سید حمید حق پرست

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

----------


## ho3ein.3ven

مشکلم اینه که تمام این پروژه های که گذاشتی رو سیستم من اجرا نمیشه.
اون شی web browser که رو فرم گذاشته شده رو به عنوان picture می خونه .
و هیچ کدوم رو اجرا نمی کنه.

----------


## سید حمید حق پرست

دوست عزیز ببین با این دو تا مشکلت حل میشه 
اول اینارو استفاده کن بعد سورسهارو حذف کن و از اول دانلود کن


موفق باشی


یا علی (ع)

----------


## ho3ein.3ven

جناب حق پرست واقعا ممنون از شما مشکلم حل شد.

----------


## ho3ein.3ven

ببخشید دوستان چطور میشه عنوان یا همون title سایتی که باز شده رو بدست آورد ؟

----------


## محسن واژدی

سلام 
کد زیر را بررسی کنید: 
 
Private Sub Command1_Click() 
    MsgBox "Webpage title: " & WebBrowser1.Document.Title 
End Sub  

موفق باشید

----------


## ho3ein.3ven

ممنون همشهری
جواب نمیده

----------


## محسن واژدی

چرا، باید جواب بده، ممکنه هنوز صفحه ای را باز نکرده باشید چون اگر اینطور هم باشه خطا میدهد

----------


## ho3ein.3ven

ممنون جواب داد . ولی به نظر شما تو کدوم رویداد بزارمش ؟

----------


## محسن واژدی

سلام 
در رویداد DocumentComplete قرار بدین هم مناسب است 
موفق باشید

----------


## ho3ein.3ven

ممنون. حالا برای راست کلیک چیکار کنم . مثلا راست کلیک رو عکس یا لینک یا یه جای خالی.
اگه ممکنه در این مورد هم توضیح بدین.

----------


## محسن واژدی

میبخشید خیلی متوجه نشدم، در صورت امکان بیشتر توضیح دهید

----------


## ho3ein.3ven

منظورم در وب اگه کسی روی عکس یا لینک یا یه جای خالی راست کلیک کنه چطور میشه همون منویی که بخوایم رو نشون بده.مثلا ا تابع popupmenu اون منو رو نشون بده
ممنون

----------


## محسن واژدی

سورس موجود در صفحه زیر را بررسی کنید:
http://www.planet-source-code.com/vb...36708&lngWId=1 

موفق باشید

----------


## ho3ein.3ven

عذر می خوام من که سورس ندیدم تو این صفحه اگه ممکنه ضمضمش کنید.

----------


## محسن واژدی

لینک زیر خدمت شما: 

http://s1.picofile.com/file/73029579...serEx.zip.html

 موفق باشید

----------


## ho3ein.3ven

واقعا ممنون از شما . البته یه چند تا از سوالاتم هنوز مونده.

----------


## ho3ein.3ven

ببخشید این همه سوال می پرسم . چطور میشه فهمید که الان داره چه آدرسی رو باز می کنه ؟ یا در کل آدرس صفحه وبی رو که داره نشون میده.
ممنون

----------


## محسن واژدی

> ببخشید این همه سوال می پرسم . چطور میشه فهمید که الان داره چه آدرسی رو باز می کنه ؟ یا در کل آدرس صفحه وبی رو که داره نشون میده.
> ممنون


 خواهش میکنم، برای اطلاع از وضعیت فعلی میتوانیم از رویداد StatusTextChange استفاده کنیم:

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
    Caption = Text
End Sub


موفق باشید

----------


## ho3ein.3ven

میگم تو اون برنامه مال راست کلیک که گذاشتی یه رویداد داره به نام WebBrowserMouseDownContextMenu  که اون منو رو تو این روال popup میشه.مال من این رویداد رو نداره . اگه ممکنه یه راهنمایی کن.

----------


## محسن واژدی

سلام 
این رویداد مربوط به یوزر کنترل WebBrowserEx است که با همین نام (WebBrowserEx) در این سورس قرار داده شده، برای استفاده از این رویداد هم بایستی کنترل را با ماژول های همراهش به برنامه منتقل کنیم

----------


## ho3ein.3ven

هر کاریش می کنم اضافه نمیشه . راه دیگه ای نداره که کامپوننت نخواد با همین web brpwser بشه ؟

----------


## محسن واژدی

چرا، راه دیگری هم وجود دارد و انهم استفاده از کتابخانه Microsoft HTML Object Library است
برای اینکار:

 ابتدا فرم References را از منوی Projects\References باز میکنیمسپس کتابخانه "Microsoft HTML Object Library" را یافته و وارد میکنیمدر انتها از کدی مشابه کد زیر برای نمایش منوی سفارشی خود استفاده میکنیم:
Option Explicit
Public WithEvents evHTML As HTMLDocument
Private Sub Form_Load()
    WebBrowser1.Navigate "http://google.com"
End Sub

Private Function evHTML_oncontextmenu() As Boolean
    PopupMenu fle
End Function
 
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Set evHTML = WebBrowser1.Document
End Sub


البته بایستی توجه داشته باشیم که در این کد یک منوی عمومی که در واقع منوی سفارشی ماست باز میشود نه برای هر عنصری یک منوی سفارشی مجزا،



موفق باشید

----------


## ho3ein.3ven

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

----------


## ho3ein.3ven

آقا محسن چی شد ؟

----------


## ho3ein.3ven

دوستان کسی در این رابطه نظری نداره ؟

----------


## شهاب 3

آقا محسن می خواستم بدونم چه طور می شه موتور فایر فاکس و کروم رو با هم ترکیب کرد؟

----------

