نمایش نتایج 1 تا 9 از 9

نام تاپیک: بدست آوردن آدرس صفحه سایت

  1. #1

    بدست آوردن آدرس صفحه سایت

    سلام

    من به کمک سورس زیر هندل ، کلاس و متن هر شی را با حرکت نشانگر موس بر روی آن بدست می آورم ، حالا فرض کنید یک صفحه اینترنت اکسپلورر در حال حاضر فعال باشه می خوام بدونم چجوری می تونم بدون اینکه نشانگر موس را روی "آدرس بار" ببرم متن داخل اونا بدست آورم ؟
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) 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 Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
    Private Const WM_GETTEXT = &HD
    Private Const WM_GETTEXTLENGTH = &HE
    Private Sub GetURLstring_Click()
    On Error GoTo CallErrorA
    Dim buffer As String, TextLength As Long, sClassName As String
    Dim lhwnd As Long, WindowHandle As Long
    lhwnd = 0
    sClassName = ("IEFrame")
    lhwnd = FindWindowEx(lhwnd, 0, sClassName, vbNullString)
    sClassName = ("WorkerW")
    lhwnd = FindWindowEx(lhwnd, 0, sClassName, vbNullString)
    sClassName = ("ReBarWindow32")
    lhwnd = FindWindowEx(lhwnd, 0, sClassName, vbNullString)
    sClassName = ("ComboBoxEx32")
    lhwnd = FindWindowEx(lhwnd, 0, sClassName, vbNullString)
    sClassName = ("ComboBox")
    lhwnd = FindWindowEx(lhwnd, 0, sClassName, vbNullString)
    sClassName = ("Edit")
    lhwnd = FindWindowEx(lhwnd, 0, sClassName, vbNullString)
    WindowHandle& = lhwnd
    TextLength& = SendMessage(WindowHandle&, WM_GETTEXTLENGTH, 0&, 0&)
    buffer$ = String(TextLength&, 0&)
    Call SendMessageByString(WindowHandle&, WM_GETTEXT, TextLength& + 1, buffer$)
    MsgBox buffer$
    Exit Sub
    CallErrorA:
    MsgBox Err.Description
    Err.Clear
    End Sub

  3. #3
    خیلی ممنون دوست عزیز

  4. #4
    با عرض معذرت یه مشکل دیگه :
    موزیلافایرفاکس این اجازه را به من نمی ده تا هندل آدرس بار اونا بدست بیاورم شما چه راهکاری ارائه می کنید تا بتونم متن داخل آدرس بار را بخونم ؟

  5. #5
    کاربر دائمی آواتار CodeMasterX
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Iran, Shiraz
    سن
    37
    پست
    960
    ولی من یه سوا دیگه دارم!
    چحوری میشه مثل مزیلا فایر فاکس برنامه رو امن کرد که نشه هندل پنجره ها و کنترل ها رو گرفت ؟>

  6. #6
    بنیاد موزیلا چهارچوب خاصی برای نوشتم برنامه هاش داره که منحصر به خودشونه
    برنامه هایی مثل Netscape, Chatzilla, Gozilla, Mozilla و امثالهم همگی با این چهارچوب نوشته میشن.

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

    به کمک Spy++ می توانید وجود یک پنجره واحد را تست کنید (MozillaWindowClass)

  7. #7
    کاربر دائمی آواتار CodeMasterX
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Iran, Shiraz
    سن
    37
    پست
    960
    ممنون BlackDal.
    پس اینطور که من می دونم همچین کاری رو با وی بی 6 نمیشه پیاده سازی کرد نه ؟
    بعد ببینم کلا اطلا راهی هست که هیچ جوری نشه هندل های برنامه رو ردیابی کرد ؟

  8. #8
    هندل هر برنامه در ویندوز قابل شناساییه.
    مسئله اینه که خانواده موزیلا فقط یک پنجره و بالطبع یک هندل دارند.

    برای روشن شدن موضوع بذار یه مثال بزنم شما هرگز نمی تونید هندل کنترل Label رو در برنامه های وی بی بدست بیارید.

    چون اصلاً پنجره نیست و فقط توسط توابع API نوشتن و ترسیماتی رو روی والد خودش انجام میده.

  9. #9
    کاربر دائمی آواتار CodeMasterX
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Iran, Shiraz
    سن
    37
    پست
    960
    گرفتم ممنون!

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •