سلام
می خواستم سوال کنم چگونه می شود اطلاعات را از برنامه دیگری که باز است خواند و اطلاعات را از تکس باکس های آن گرفت و در تکس باکس های برنامه خود کپی کرد
با تشکر
با استفاده از توابع api
هر پنجره (تکتس باکس هم پنجره مخسوب میشه) یک دستگیره داره؛
با توابع api اول اون هندل رو پیدا میکنی و محتویاتشو میخونی
تو سایت کلی پروژه با همین عناوین هست.
میشه بیشتر توضیح بدهید و یک نمونه پروژه بدهید
من نتونستم چیزی پیدا کنم
با تشکر
اين كد نشون مي ده چطور مي شه اطلاعات رو از Notepad خوند و در TextBox فرم خودتون كپي كرد.
کد:
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 SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_GETTEXTLENGTH = &HE
Private Const WM_GETTEXT = &HD
Private Sub Command1_Click()
Dim MainClass As Long
Dim ChildClass As Long
MainClass = FindWindow("Notepad", vbNullString)
ChildClass = FindWindowEx(MainClass, 0&, "Edit", vbNullString)
Dim Textlen As Long
Dim Text As String
Textlen = SendMessage(ChildClass, WM_GETTEXTLENGTH, 0, 0) + 1
Text = Space$(Textlen)
Textlen = SendMessage(ChildClass, WM_GETTEXT, Textlen, ByVal Text)
Text1.Text = Text
End Sub
نوت پت را باز کدم ولی محتویات آن را نخواند
لطفا بیشتر کمک نمایید
با تشکر
(۰۱-بهمن-۱۳۹۱, ۱۹:۳۵:۵۲)automa نوشته است: [ -> ]نوت پت را باز کدم ولی محتویات آن را نخواند
لطفا بیشتر کمک نمایید
با تشکر
بعد از باز کردن و نوشتن در نوت پد؛ دگمهی روی فرم رو زدید؟
در نت پت جواب مثبت داد
حال سوال این است که چگونه تکس باکس های یک نرم افزار دیگر را تشخیص داده و در برنامه خود کپی نمایم
لطفا راهنمایی نمایید
با تشکر
سلام.
به جای MainClass = FindWindow("Notepad", vbNullString) که نوتپد رو پیدا میکنه اسم پنجره مورد نظرت رو قرار بده.
یه هندل میتونه تعدادی هندل زیر شاخه داشته باشه. اینه که بهتره یه تابع ریکرسیو برای پیدا کردن کل هندل های داخل نرم افزار مورد نظرت بنویسی و تکس باکس مورد نظر رو داخلشون پیدا کنی.
تابع ریکرسیو برای پیدا کردن کل هندل های داخل نرم افزار مورد نظر را چگونه بنویسم