چطور میتونم متن تکست باکس در پنجره های دیگر رو بدست بیارم
اگر میشه توضیح بدین
چطور میتونم متن تکست باکس در پنجره های دیگر رو بدست بیارم
اگر میشه توضیح بدین
اسم فرم مورد نظر را بهش اضافه کن
مثلا : از Form1 میخوای Textbox از Form2 بخونی :
x=Form2.Text1.text
منظورم از پنجره های دیگه اینه که خارج پنجره ما یا پنجره های دیگر برنامه های در حال اجرا.
مثلا یه پنجره که مال یه برنامه دیگه است باز شده و توش هم یه تکست باکس داره می خوام متن اون تکست باکس رو بدست بیارم.
مثلا یاهوو مسنجر بازه و می خوام متن تو قسمت پسووردشو با برنامه خودم بدست بیارم.
فوریه اگه کسی بلده لطفا راهنمایی کنه... با تشکر
از یان توابع باید استفاده کنی
GetCurserPos
GetWindowfromPoint
GetWindowText
برای دریافت راهنمای این توابع هم به Api Guide مراجعه کن
تابع getwindowtext بر روی تکست باکس عمل نمیکنه چرا...
روی همه تکست باکس ها عمل نمی کنه مثلا کانکشن ویندوز البته در XP
من درست نمی دونم
ولی تا اونجا که بلدم باید بری آدرسشو تو RAM پیدا کنی و از اونجا بخونی
a = FindWindow(Nothing, "Sign In")
b = FindWindowEx(a, 0, "Edit", Nothing)
c = FindWindowEx(a, b, "Edit", Nothing)
a=آدرس پنجره sign in
b= آدرس textbox username
c= آدرس textbox pass
با داشتن آدرس می تونیم متن داخلش رو بخونیم getwindowtext
ولی پسورد رو نمیشه خوند!!!!!
PostMessage(pass, 204, 0, 0) با این api میشه دایره های یاهو رو نمایش داد
ممنون عباس جان
ولی error میده
حتی وقتی
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName 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 Declare Function FindWindowExA Lib "user32" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Sub Form_Load()
Dim pass As Long
a = FindWindow("", "Sign In")
b = FindWindowExA(a, 0, "Edit", "")
c = FindWindowExA(a, b, "Edit", "")
Me.Caption = PostMessage(pass, 204, 0, 0)
end sub
میزنم بازم جواب نمیده
آخرین ویرایش به وسیله H_SH_VB : جمعه 12 اسفند 1384 در 11:40 صبح
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim pass, ahw, bhw As Integer 'Handle Of Password TextBox
' Int(ahw) 'Handle Of Sign In Window
'Int(bhw) 'Handle Of Password TextBox
Dim s As String 's = vbStringNull = nil = ""
Dim sa As String = "Sign In" 'Caption Of Sign In Window
Dim ea As String = "Edit" ' Class Of TextBox (Password)
ahw = FindWindow(s, sa)
bhw = FindWindowEx(ahw, 0, ea, s)
pass = GetWindow(bhw, GW_HWNDNEXT)
pass = GetWindow(pass, GW_HWNDNEXT)
PostMessage(pass, EM_SETPASSWORDCHAR, 0, 0)
SendMessage(pass, 16, 0, 0)
End Sub
شما دقیقا همین رو با vb.net اجرا کن و یاهو راباز کن و کلید1 رو بزن
خوب pass رو کجا نگه میداره؟
یه سری توابع پیچیده داره که من یادم نمی یاد برو تو کتاب های هک کرک
عزیز از یاهو دیگه نمی تونی با api به صورت ساده پسور را کش بری !
و در مورد text box های دیگه به جز متن امده در pm همه را می شه گرفت