PDA

View Full Version : خطا WebBrowser1



aleas2
سه شنبه 03 مرداد 1391, 07:52 صبح
سلام خسته نباشید دوستان
WebBrowser1 این خطارو میده چکار کنم؟
90156
http://barnamenevis.org/images/misc/pencil.png

محسن واژدی
سه شنبه 03 مرداد 1391, 09:28 صبح
سلام علیکم
اگر درخواستی را به صفحه ای ارسال کرده باشیم (به عنوان مثال Login) در صورت ارسال دستور Refresh این پیام جهت ارسال دوباره درخواست قبلی ظاهر میشود (در واقع این یک پیام تائید است)

موفق باشید

aleas2
سه شنبه 03 مرداد 1391, 09:39 صبح
خب راهی هست که این پیغام تایید ظاهر نشه اگر شد با یه ترفندی بره؟خود برنامه ok رو بزنه؟

محسن واژدی
سه شنبه 03 مرداد 1391, 10:01 صبح
بله، در انجمن جستجو کنید قبلا سورسی برای یکی از دوستان برای بستن خودکار پیام های ظاهر شده از WebBrowser گذاشته بودم،

و یا صفحه جاری را با دستوری مشابه زیر دوباره فراخوانی کنیم:
WebBrowser1.Navigate WebBrowser1.LocationURL


موفق باشید

aleas2
سه شنبه 03 مرداد 1391, 10:46 صبح
والا متاسفانه من گشتم چیزی پیدا نکردم امکان داره دوباره اون سورس بذارین یا بگین چکار کنم؟

ho3ein.3ven
سه شنبه 03 مرداد 1391, 10:59 صبح
سلام. با اجازه جناب واژدی عزیز
این کد ها رو در یک پروژه جدید بزار و همزمان با اجرای برنامه اون پروژه هم اجرا کن
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Const BM_CLICK = &HF5
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
Dim messageHandle As Long
Dim OKHandle As Long

messageHandle = FindWindow(vbNullString, "onvane panjare")
OKHandle = FindWindowEx(messageHandle, 0, vbNullString, "OK")

If OKHandle <> 0 Then
SendMessage OKHandle, BM_CLICK, 0, 0
End If
End Sub

به جای عنوان پنجره عنوان اون پیغامی که قصد اوکی کردن اون رو دارین بزارید

محسن واژدی
سه شنبه 03 مرداد 1391, 11:02 صبح
والا متاسفانه من گشتم چیزی پیدا نکردم امکان داره دوباره اون سورس بذارین یا بگین چکار کنم؟
پست زیر را هم بررسی کنید:
http://barnamenevis.org/showthread.php?348445&p=1537595&viewfull=1#post1537595

موفق باشید

ho3ein.3ven
سه شنبه 03 مرداد 1391, 11:02 صبح
اگر خواستین که کل برنامه در یک پروژه باشه می تونین از کد های زیر استفاده کنید :
کد های زیر رو در یک ماژول بزارین :
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Const WM_CLOSE = &H10
Public Const TMR_AUTO_CLOSE_MSG& = &H1
Private mMsgTitle$
Sub AutoCloseMessageTimer(fForm As Form, sMessageTitle$)
mMsgTitle$ = sMessageTitle$
SetTimer fForm.hwnd, TMR_AUTO_CLOSE_MSG&, 1, AddressOf TimerProc
End Sub
Private Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
Dim lWH&
lWH& = FindWindow("#32770", mMsgTitle$)
If lWH& > 0 Then
SendMessage lWH&, WM_CLOSE, 0, 0
End If
End Sub

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

Private Sub Timer1_Timer()
AutoCloseMessageTimer Me, "onvan panjare"
End Sub

VB6_nevis
سه شنبه 03 مرداد 1391, 19:31 عصر
سلام

منم این مشکل رو داشتم با این تکه کوچک حل شد امیدوارم مشکل شما رو هم حل کنه

در هنگام لود فرم قرار بده....

Webbrowser1.Silent = True

aleas2
سه شنبه 03 مرداد 1391, 20:04 عصر
متاسفانه هیچکدوم جواب نداد

VB6_nevis
سه شنبه 03 مرداد 1391, 20:14 عصر
این رو هم امتحان کن

Private Sub webbrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
webbrowser1.Silent = True
Set AnyNAME = webbrowser1.document
End Sub

AnyNAME هر اسمی که واسه قرار دادن محتویات در نظر گرفتید

aleas2
سه شنبه 03 مرداد 1391, 20:32 عصر
اینم نشد کلا لج کرده

ho3ein.3ven
سه شنبه 03 مرداد 1391, 20:36 عصر
خب شما شاید عنوان پنجره رو اشتباه وارد می کنید . عنوان پنجره رو با رعایت حرف کوچیک و بزرگ تایپ کنید.

aleas2
سه شنبه 03 مرداد 1391, 20:41 عصر
خب عنوان پنجره
Web Browser
هسته مگه غیر از اینه؟عکس خطا رو که گذاشتم

VB6_nevis
سه شنبه 03 مرداد 1391, 20:52 عصر
اگه امکانش هست اون پیج که میخای باز کنی رو بنویس یا قسمتی از کد رو بذار اینجا تا بهتر بشه کمک کرد

aleas2
سه شنبه 03 مرداد 1391, 21:00 عصر
والا این خطا گاهی اوقات رخ میده همیشه رخ نمیده که من بدونم مال کدوم قسمت هسته ولی میدونم کارم با بازی تراوین

http://tx2.travian.ir/dorf1.php
هسته

ho3ein.3ven
سه شنبه 03 مرداد 1391, 21:30 عصر
این که گزینه هاش اوکی نداره . اون کد ها فک کنم برای کلیک روی گزینه اوکی پیغام خطا باشه . البته فک کنم جناب واژدی بیشتر در این زمینه اطلاع داشته باشن.

aleas2
سه شنبه 03 مرداد 1391, 21:40 عصر
خب اره گزینه ok نداره شما راه حلی ندارین که رو گزینه Retry کلیک کنه؟

VB6_nevis
سه شنبه 03 مرداد 1391, 21:44 عصر
اتفاقا منم دارم روی پروژه تراوین کار میکنم

این مشکل وقتی پیش میاد که یکی از تایمرهای صفحه صفر میشه

مشکل من با اون کدهایی که گفتم حل شد

ولی من کلا وب بروزر رو کنار گذاشتم و از Inet بجاش استفاده میکنم بهتره

الانم دارم میرم سمت MSXML که بتونم ای جکس هم استفاده کنم

aleas2
سه شنبه 03 مرداد 1391, 21:58 عصر
داداش خیلی پست الکی دادیم ! قربانت داداش ممنون که گفتی ببینم میتونم حلش کنم ببینم چی میشه انشالا حل بشه
کاری داشتی پیام خصوصی بده

aleas2
یک شنبه 03 شهریور 1392, 14:13 عصر
دوستان هنوز کسی راه حلی بلد نیست بشه که این پیغام نمایش نده و یا روی گزینه Retry (http://barnamenevis.org/showthread.php?352776-%D8%AE%D8%B7%D8%A7-WebBrowser1&p=1555360&viewfull=1#post1555360) کلیک کرد؟