PDA

View Full Version : کمک برای ساخت مرورگر وب



ho3ein.3ven
شنبه 22 بهمن 1390, 19:29 عصر
با سلام
دوستان می خواستم ببینم چطور میشه یک مرورگر وب نوشت ؟
خودم هم یه چیزایی نوشتم . ولی مثلا وقتی رو یه لینکی کلیک میشه که باید تو یه صفحه جدید باز بشه از اینترنت اکسپلورر استفاده می کنه . من می خوام که تو برنامه خودم تو تب جدید نشون داده بشه.
اگر کسی سورسی در این زمینه هم داره ممنون میشم اگه قرار بده.
با تشکر

محسن واژدی
شنبه 22 بهمن 1390, 21:56 عصر
سلام
کد زیر صفحه جدید را در یک فرم جدید نمایش میدهد اما میتوانید با مقداری تغییر آنرا بصورتی که میخواهید تبدیل کنید:

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
شنبه 22 بهمن 1390, 23:15 عصر
سلام
کد زیر صفحه جدید را در یک فرم جدید نمایش میدهد اما میتوانید با مقداری تغییر آنرا بصورتی که میخواهید تبدیل کنید:

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
چهارشنبه 26 بهمن 1390, 11:30 صبح
دوستان کسی نظری نداره ؟

محسن واژدی
چهارشنبه 26 بهمن 1390, 11:44 صبح
سلام
چه قسمتی از کدها مشکل دارد؟ چون در هر دو نسخه IE7,8 بدون مشکل اجرا میشوند!

ali.mousavi
چهارشنبه 26 بهمن 1390, 11:48 صبح
يک مرور گر کامل :

ho3ein.3ven
چهارشنبه 26 بهمن 1390, 14:36 عصر
اگر ممکنه ocx web browser رو برام بزارید.

سید حمید حق پرست
چهارشنبه 26 بهمن 1390, 15:02 عصر
سلام
در خود ویندوز هست
عبارت ieframe.dll رو در سیستمت جستوجو کن

موفق باشی



یا علی (ع)

سید حمید حق پرست
چهارشنبه 26 بهمن 1390, 15:47 عصر
بازم سلام خدمت دوستان
اینم سه تا وب بروزر واسه شما

موفق باشی


یا علی (ع)

ho3ein.3ven
چهارشنبه 26 بهمن 1390, 16:18 عصر
مشکلم حل نشد.
ieframe.dll رو سرچ کردم . بعد به رفرنس ها اضافش کردم اما بازم درست نشد.
اگه ممکنه یکی کامپوننت web browser رو بزاره

سید حمید حق پرست
چهارشنبه 26 بهمن 1390, 16:52 عصر
سلام . اینم همون چیزی که میخواستی . تقریبا یک بروزر کامله . اگه روش کار کنی کاملتر میشه:

http://s1.picofile.com/file/7300061070/Browser3.rar.html


موفق باشی


یا علی (ع)

ho3ein.3ven
چهارشنبه 26 بهمن 1390, 19:19 عصر
کسی کامپوننت رو نمی زاره ؟

سید حمید حق پرست
چهارشنبه 26 بهمن 1390, 19:35 عصر
دوست عزیز بیا اینم لینک :
http://www.dll-files.com/dllindex/dll-files.shtml?ieframe

موفق باشی

ho3ein.3ven
چهارشنبه 26 بهمن 1390, 21:19 عصر
بابا dll ش رو دارم.کامپوننتش و ندارم.

سید حمید حق پرست
چهارشنبه 26 بهمن 1390, 21:52 عصر
کامپوننت اینو من ندیدم همه از دی ال ال اون استفاده میکنن . شما مشکلت با این دی ال ال چیه؟

سید حمید حق پرست
چهارشنبه 26 بهمن 1390, 21:57 عصر
اگر کامپوننتی هم باشه فکرد کنم از این ieframe.dll بهره ببره . پس همین راهرو داری . شما مشکلت با این ieframe.dll چیه بگید شاید راه حلی داشته باشم

ho3ein.3ven
چهارشنبه 26 بهمن 1390, 22:41 عصر
مشکلم اینه که تمام این پروژه های که گذاشتی رو سیستم من اجرا نمیشه.
اون شی web browser که رو فرم گذاشته شده رو به عنوان picture می خونه .
و هیچ کدوم رو اجرا نمی کنه.

سید حمید حق پرست
پنج شنبه 27 بهمن 1390, 00:14 صبح
دوست عزیز ببین با این دو تا مشکلت حل میشه
اول اینارو استفاده کن بعد سورسهارو حذف کن و از اول دانلود کن


موفق باشی


یا علی (ع)

ho3ein.3ven
پنج شنبه 27 بهمن 1390, 12:11 عصر
جناب حق پرست واقعا ممنون از شما مشکلم حل شد.

ho3ein.3ven
پنج شنبه 27 بهمن 1390, 13:34 عصر
ببخشید دوستان چطور میشه عنوان یا همون title سایتی که باز شده رو بدست آورد ؟

محسن واژدی
پنج شنبه 27 بهمن 1390, 16:18 عصر
سلام
کد زیر را بررسی کنید:

Private Sub Command1_Click()
MsgBox "Webpage title: " & WebBrowser1.Document.Title
End Sub

موفق باشید

ho3ein.3ven
پنج شنبه 27 بهمن 1390, 17:57 عصر
ممنون همشهری
جواب نمیده

محسن واژدی
پنج شنبه 27 بهمن 1390, 18:27 عصر
چرا، باید جواب بده، ممکنه هنوز صفحه ای را باز نکرده باشید چون اگر اینطور هم باشه خطا میدهد

ho3ein.3ven
پنج شنبه 27 بهمن 1390, 20:20 عصر
ممنون جواب داد . ولی به نظر شما تو کدوم رویداد بزارمش ؟

محسن واژدی
پنج شنبه 27 بهمن 1390, 20:36 عصر
سلام
در رویداد DocumentComplete قرار بدین هم مناسب است
موفق باشید

ho3ein.3ven
پنج شنبه 27 بهمن 1390, 22:36 عصر
ممنون. حالا برای راست کلیک چیکار کنم . مثلا راست کلیک رو عکس یا لینک یا یه جای خالی.
اگه ممکنه در این مورد هم توضیح بدین.

محسن واژدی
پنج شنبه 27 بهمن 1390, 22:54 عصر
میبخشید خیلی متوجه نشدم، در صورت امکان بیشتر توضیح دهید

ho3ein.3ven
پنج شنبه 27 بهمن 1390, 23:22 عصر
منظورم در وب اگه کسی روی عکس یا لینک یا یه جای خالی راست کلیک کنه چطور میشه همون منویی که بخوایم رو نشون بده.مثلا ا تابع popupmenu اون منو رو نشون بده
ممنون

محسن واژدی
پنج شنبه 27 بهمن 1390, 23:42 عصر
سورس موجود در صفحه زیر را بررسی کنید:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=36708&lngWId=1

موفق باشید

ho3ein.3ven
جمعه 28 بهمن 1390, 00:44 صبح
عذر می خوام من که سورس ندیدم تو این صفحه اگه ممکنه ضمضمش کنید.

محسن واژدی
جمعه 28 بهمن 1390, 06:44 صبح
لینک زیر خدمت شما:

http://s1.picofile.com/file/7302957953/WebBrowserEx.zip.html

موفق باشید

ho3ein.3ven
جمعه 28 بهمن 1390, 11:20 صبح
واقعا ممنون از شما . البته یه چند تا از سوالاتم هنوز مونده.

ho3ein.3ven
جمعه 28 بهمن 1390, 12:10 عصر
ببخشید این همه سوال می پرسم . چطور میشه فهمید که الان داره چه آدرسی رو باز می کنه ؟ یا در کل آدرس صفحه وبی رو که داره نشون میده.
ممنون

محسن واژدی
جمعه 28 بهمن 1390, 12:51 عصر
ببخشید این همه سوال می پرسم . چطور میشه فهمید که الان داره چه آدرسی رو باز می کنه ؟ یا در کل آدرس صفحه وبی رو که داره نشون میده.
ممنون
خواهش میکنم، برای اطلاع از وضعیت فعلی میتوانیم از رویداد StatusTextChange استفاده کنیم:

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


موفق باشید

ho3ein.3ven
جمعه 28 بهمن 1390, 13:32 عصر
میگم تو اون برنامه مال راست کلیک که گذاشتی یه رویداد داره به نام WebBrowserMouseDownContextMenu که اون منو رو تو این روال popup میشه.مال من این رویداد رو نداره . اگه ممکنه یه راهنمایی کن.

محسن واژدی
جمعه 28 بهمن 1390, 15:00 عصر
سلام
این رویداد مربوط به یوزر کنترل WebBrowserEx است که با همین نام (WebBrowserEx) در این سورس قرار داده شده، برای استفاده از این رویداد هم بایستی کنترل را با ماژول های همراهش به برنامه منتقل کنیم

ho3ein.3ven
جمعه 28 بهمن 1390, 15:35 عصر
هر کاریش می کنم اضافه نمیشه . راه دیگه ای نداره که کامپوننت نخواد با همین web brpwser بشه ؟

محسن واژدی
جمعه 28 بهمن 1390, 16:14 عصر
چرا، راه دیگری هم وجود دارد و انهم استفاده از کتابخانه 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
جمعه 28 بهمن 1390, 16:47 عصر
انجام شد.
حالا اگه ممکنه ذخیره عکس و دانلود فایل رو وقتی راست کلیک میشه رو یه عکس یا فیلم رو توضیح بده.
بازم ممنون

ho3ein.3ven
شنبه 29 بهمن 1390, 21:42 عصر
آقا محسن چی شد ؟

ho3ein.3ven
یک شنبه 30 بهمن 1390, 22:57 عصر
دوستان کسی در این رابطه نظری نداره ؟

شهاب 3
پنج شنبه 04 اسفند 1390, 19:29 عصر
آقا محسن می خواستم بدونم چه طور می شه موتور فایر فاکس و کروم رو با هم ترکیب کرد؟