PDA

View Full Version : سوال: گرفتن آدرس یک پنجره ی مرورگر ویندوز



farzad93
چهارشنبه 15 دی 1389, 22:18 عصر
سلام
میخوام با باز شدن هر پنجره ای از مرورگر ویندوز آدرس پنجره ی جدید رو توی یک تکسک باکس داشته باشم.
اگه راهنمایی کنید ممنون میشم!

_behnam_
چهارشنبه 15 دی 1389, 22:53 عصر
سلام
میخوام با باز شدن هر پنجره ای از مرورگر ویندوز آدرس پنجره ی جدید رو توی یک تکسک باکس داشته باشم.
اگه راهنمایی کنید ممنون میشم!
بفرما دوست عزیز اینم کد
فقط یک تکست باکس و یک تایمر به فرم اضاف کن

Option Explicit
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 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 Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_GETTEXT = &HD
Private Const EM_SETPASSWORDCHAR = &HCC
Private Function GetText(ByVal xHwnd As Long) As String
Dim Bf As String, MyResult As String, AaA As Long
PostMessage xHwnd, EM_SETPASSWORDCHAR, 0, 0
Bf = String(201, Chr(0))
AaA = SendMessageByString(xHwnd, WM_GETTEXT, 200, Bf)
GetText = Left(Bf, AaA)
End Function

Private Sub Form_Load()
Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
Dim MainClass As Long
Dim ChildClass As Long
MainClass = FindWindow("IEFrame", vbNullString)
ChildClass = FindWindowEx(MainClass, 0&, "WorkerW", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "ReBarWindow32", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "ComboBoxEx32", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "ComboBox", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "Edit", vbNullString)
Text1.Text = GetText(ChildClass)
End Sub

farzad93
پنج شنبه 16 دی 1389, 08:35 صبح
ممنون ولی
این کد برای من کار نکرد میشه بیشتر راهنمایی کنید :افسرده:

_behnam_
پنج شنبه 16 دی 1389, 14:19 عصر
ممنون ولی
این کد برای من کار نکرد میشه بیشتر راهنمایی کنید :افسرده:
سورسشو میزارم واست

http://184.154.37.226/_behnam_/internet-explore.zip

farzad93
پنج شنبه 16 دی 1389, 15:13 عصر
منظورم از مرورگر ویندوز Internet explorer نیست!
منظور explorer خود ویندوزه!

_behnam_
پنج شنبه 16 دی 1389, 19:17 عصر
منظورم از مرورگر ویندوز Internet explorer نیست!
منظور explorer خود ویندوزه!
فرقی نمیکنه کدها یکیه
فقط باید به جای هندل اینترنت اکسپلوره هندل اکسپلوره ویندوز رو بدست بیاری
کد زیر رو بزار تو تایمر سورسی که گذاشتم بد برنامرو اجرا کن میبینی که به هر مسیری که بری تو تکست باکس نشون میده


Dim MainClass As Long
Dim ChildClass As Long
MainClass = FindWindow("CabinetWClass", vbNullString)
ChildClass = FindWindowEx(MainClass, 0&, "WorkerW", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "ReBarWindow32", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "ComboBoxEx32", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "ComboBox", vbNullString)
ChildClass = FindWindowEx(ChildClass, 0&, "Edit", vbNullString)
Text1.Text = GetText(ChildClass)

ali.rezaei7
پنج شنبه 16 دی 1389, 20:00 عصر
فرقی نمیکنه کدها یکیه
فقط باید به جای هندل اینترنت اکسپلوره هندل اکسپلوره ویندوز رو بدست بیاری
کد زیر رو بزار تو تایمر سورسی که گذاشتم بد برنامرو اجرا کن میبینی که به هر مسیری که بری تو تکست باکس نشون میده

دست دردنکنه. کد جالبی بود:تشویق:. ولی رو سیستم من، اون نسخه اینترنت اکسپلورری که گذاشتی، کار نمی کنه.:ناراحت:
راستی این کدی که گذاشتی تو ورژن های غیر از xp هم قابل استفاد است؟:متفکر:

farzad93
پنج شنبه 16 دی 1389, 23:22 عصر
برای ویندوز 7 باید چیکار کرد؟
چون در اکسپلوره ویندوز 7 ، آدرس بار به صورت combo box نیست!

_behnam_
پنج شنبه 16 دی 1389, 23:55 عصر
برای ویندوز 7 باید چیکار کرد؟
چون در اکسپلوره ویندوز 7 ، آدرس بار به صورت combo box نیست!
من تاحالا رو ویندوز 7 امتحان نکردم .
خوب شما خودتون میتونید هندل اکسپلوره رو گیر بیارید
1. FindWindow واسه بدست آوردن اینترنت اکسپلوره
2.FindWindowEx برای بدست آوردن زیر پنجره های اکسپلوره