سلام دوستان
می خواستم بدونم چطوری میشه تویه وی بی از یک آبجکت خارجی مثلا یک تکست باکس تویه یه برنامه دیگه اطلاعات رو خوند یا به اون اطلاعات داد .
ممنون
سلام دوستان
می خواستم بدونم چطوری میشه تویه وی بی از یک آبجکت خارجی مثلا یک تکست باکس تویه یه برنامه دیگه اطلاعات رو خوند یا به اون اطلاعات داد .
ممنون
با استفاده از توابع API.
یه مثال ساده رو کاربر فکر کنم S.VBMAx یه همچین چیزی توی همین بخش با romina بحث کرده.این برنامه ها با توابع API اول برنامه ای رو Hook می کنن و بعد با استفاده از هندل کنترل ها روی داده هاشون کار می کنن.به عبارتی APISpy.
آقا خیلی ممنون
احتمالا منظورتون این تاپیک هست :
https://barnamenevis.org/showth...ght=WM_GETTEXT
ولی متاسفانه من چون چند سالی هست برنامه نویسی نمی کنم خیلی چیزها رو فراموش کردم و نتونتم از این تاپیک استفاده کنم .
اگر دوستان زحمت بکشن و یه سورس به من بدن ممنون میشم . هدف من به دست آوردن متن داخل یک لیست باکس در یک برنامه دیگه است غیر از برنامه خودم.
متشکرم
کسی نمی تونه کمکی به من بکنه .......
شما دیگه مشکلت چیه ؟
همون ضمیمه ای که تو لینک بالا S_VB.Max آپلود کرده این کار رو می کنه.
نشانگر برنامه رو روی یه TextBox ببر و هندل و مقدار داخلش رو بهت میده.
آهان پس قضیه سر لیست باکس هست.
همون برنامه S_VB.max رو بگیر و سورسش رو بخون و ببین چجوری میتونی با SendMessage و LB_GETTEXT از لیست باکس داده ها رو بگیری.
در اولین فرصت یه نمونه برات میذارم.
دوست عزیز اگر بخواهی اطلاعات یک textbox یا کنترل دیگر را بخوانی و تغییر دهی، معمولاً کد زیر جواب می دهد (به خصوص در مورد کنترلهای ذاتی VB) :
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function SetWindowText Lib "user32.dll" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Sub Command1_Click()
Dim MyStr As String
MyStr = Space(255)
GetWindowText Text1.hwnd, MyStr, 255
Debug.Print Trim(MyStr)
MyStr = "OK"
SetWindowText Text1.hwnd, MyStr
End Sub
من یک TextBox روی صفحه قرار دادم و برای سادگی از hwnd خود آن استفاده کردم. طبیعتاً برای اینکه TextBox یک برنامه دیگر را بخوانی باید با استفاده از توابع API ابتدا hwnd آنرا بدست آورده و به روتین فوق پاس کنی.
امیدوارم کمکی کرده باشم.
شاد باشید