PDA

View Full Version : ارسال متن به تکست باکس یک برنامه



samiasoft
سه شنبه 19 آذر 1392, 13:50 عصر
میدونم این قبلنا در مورد این بحث شده هست اما من متاسفانه چیزی در این زمینه یاد نگرفتم

میخواستم در برنامه ویژوال که درست کردم متن موجود در تکست باکسم را با زدن دکمه اینتر بطور خودکار به برنامه دیگری که در حال اجرا هست در قسمت تکست باکس اون قرار بگیره

خب من با برنامه Get Object ClassName اطلاعاتی رو از این برنامه مورد نظر بدست اوردم بدین صورت
http://www.samisoft.ir/1/images/NP3pq.gif


و با کد زیر تونستم متنی را به تکست باکسش بفرستم
Dim wnd, meswnd1 As Long
Dim meswnd2 As Long
Dim meswnd3 As Long

wnd = FindWindow("_L4iMessenger", vbNullString)

If wnd Then
meswnd1 = FindWindowEx(wnd, 0, "#32770", vbNullString)
meswnd2 = FindWindowEx(meswnd1, 0, "Edit", vbNullString)
End If

SendMessageByString meswnd2, WM_SETTEXT, 0, Text1.Text



اما مشکل من در جایی از برنامه هست که وقتی برنامه Get Object ClassName را اجرا میکنم این مقادیر رو به من میده
http://www.samisoft.ir/1/images/DYPyt.gif
که اگر توجه کنید نشون میده این تکست باکس در داخل #32770 و اینم باز در داخل #32770 قرار داره خب حالا کد بالای را چطوری ویرایش کنم تا در چنین مواردی که دو نام کلاس مشابه وجود داشت برنامه متن رو بفرسته به تکست باکس؟

samiasoft
چهارشنبه 20 آذر 1392, 09:39 صبح
دوستان لطفا در این باره کمکی کنید من مشکلم رو هنوز حل نکردم

در این باره مثلا برنامه Internet Download Manager رو ببینید هنگامی که add url را میزنیم یه پنجره ظاهر میشه به شکل

http://www.samisoft.ir/1/images/EB2cC.gif

میخواستم در این قسمت متنی که در تکست باکسم هست به اینجا وارد بشه
با برنامه Get Object ClassName این کلاس و هندل رو نشون میده

http://www.samisoft.ir/1/images/HKfP.gif

من هرکاری کردم در این باره در اخر با کد زیر تونستم در این برنامه مقداری را ارسال کنم

wnd = FindWindow("#32770", vbNullString)
meswnd1 = FindWindow("#32770", vbNullString)
If meswnd1 Then

meswnd2 = FindWindowEx(meswnd1, 0, "ComboBox", vbNullString)
End If



اما در برنامه های مشابه این وقتی این کد رو به کار بردم چیزی اتفاق نیفتاد!


به نظر من مشکل همینجا هست که دو تا مقدار کلاس #32770 وجود داره و در نوشتن کد حتما دچار خطا میشوم

از دوستان تقاضا میشود در این باره راهنمایی کنین

setroyd
چهارشنبه 20 آذر 1392, 22:28 عصر
بیا اینم کد دیگه وابسته به برنامت خودت تغییر بده کد برای download manager هست چیز خاصی نبود اگه وقت ميزاشتی میشد من تو 5 دقیقه نوشتم . همیشه همچی یا هر کدی تو نت نیست مثل این واسه این میگم پایه ی برنامه نویسیو قوی کنید که اگه جایی به مشکل راحتی برخوردید ازش رد شید . موفق باشی .

ali.gadimkhani
دوشنبه 31 فروردین 1394, 12:37 عصر
سلام و خسته نباشید اگه ممکنه برنامه Get Object ClassName رو برام ایمیل کنید.خیلی بهش احتیاج دارماگه میشه آموزشش رو هم بذارید.

samiasoft
دوشنبه 31 فروردین 1394, 12:53 عصر
سلام و خسته نباشید اگه ممکنه برنامه Get Object ClassName رو برام ایمیل کنید.خیلی بهش احتیاج دارماگه میشه آموزشش رو هم بذارید.

دانلود 2 برنامه Get Object ClassName Caption و WinSpy++ 1.7 (http://s4.picofile.com/file/8183688442/handlers.rar.html)