PDA

View Full Version : گرفتن متن از textbox پنجره های دیگر



khareh_siah
جمعه 05 اسفند 1384, 11:09 صبح
چطور میتونم متن تکست باکس در پنجره های دیگر رو بدست بیارم
اگر میشه توضیح بدین

ashkan209
جمعه 05 اسفند 1384, 11:34 صبح
اسم فرم مورد نظر را بهش اضافه کن
مثلا : از Form1 میخوای Textbox از Form2 بخونی :
x=Form2.Text1.text

khareh_siah
جمعه 05 اسفند 1384, 12:00 عصر
منظورم از پنجره های دیگه اینه که خارج پنجره ما یا پنجره های دیگر برنامه های در حال اجرا.

vb341
جمعه 05 اسفند 1384, 12:12 عصر
میشه دقیق بگی چکار میخوای بکنی ؟

khareh_siah
جمعه 05 اسفند 1384, 12:55 عصر
مثلا یه پنجره که مال یه برنامه دیگه است باز شده و توش هم یه تکست باکس داره می خوام متن اون تکست باکس رو بدست بیارم.
مثلا یاهوو مسنجر بازه و می خوام متن تو قسمت پسووردشو با برنامه خودم بدست بیارم.

khareh_siah
جمعه 05 اسفند 1384, 12:58 عصر
فوریه اگه کسی بلده لطفا راهنمایی کنه... با تشکر

حامد مصافی
جمعه 05 اسفند 1384, 13:13 عصر
از یان توابع باید استفاده کنی
GetCurserPos
GetWindowfromPoint
GetWindowText
برای دریافت راهنمای این توابع هم به Api Guide مراجعه کن

khareh_siah
جمعه 05 اسفند 1384, 13:34 عصر
تابع getwindowtext بر روی تکست باکس عمل نمیکنه چرا...

saina2006
جمعه 05 اسفند 1384, 16:46 عصر
روی همه تکست باکس ها عمل نمی کنه مثلا کانکشن ویندوز البته در XP

H_SH_VB
شنبه 06 اسفند 1384, 23:12 عصر
من درست نمی دونم
ولی تا اونجا که بلدم باید بری آدرسشو تو RAM پیدا کنی و از اونجا بخونی

abbas_g
جمعه 12 اسفند 1384, 02:16 صبح
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 میشه دایره های یاهو رو نمایش داد

H_SH_VB
جمعه 12 اسفند 1384, 11:26 صبح
ممنون عباس جان
ولی 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
میزنم بازم جواب نمیده

abbas_g
جمعه 12 اسفند 1384, 18:02 عصر
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 رو بزن

H_SH_VB
شنبه 13 اسفند 1384, 09:27 صبح
خوب pass رو کجا نگه میداره؟

aaaaaaa
جمعه 18 فروردین 1385, 01:33 صبح
یه سری توابع پیچیده داره که من یادم نمی یاد برو تو کتاب های هک کرک

r_o_o_z_y
چهارشنبه 14 تیر 1385, 05:41 صبح
عزیز از یاهو دیگه نمی تونی با api به صورت ساده پسور را کش بری !
و در مورد text box های دیگه به جز متن امده در pm همه را می شه گرفت