ايران ويج

نسخه‌ی کامل: توضیحاتی در مورد SendMessage وWM_GETTEXT
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
مشکل من اینه که میخواهم متن یک تکس باکس رو که خارج از برنامه خودمه رو به دست بیارم برای این کار با استفاده از تابع GetCursorPos
موقعیت موس رو میگیرم سپس با WindowFromPoint هندل اون تکس باکس رو میگیرم
این رو میدونم که با تابع SendMessage وWM_GETTEXT باید کار کنم من سورس رو میگذارم لطفا راهنمایی کنید

کد:
Private Const WM_COPY = &H301
Private Const WM_GETTEXT = &HD

Private Type POINTAPI
        x As Long
        y As Long
End Type


Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) 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 Sub Timer1_Timer()

Dim pt As POINTAPI, wnd As Long
GetCursorPos pt
wnd = WindowFromPoint(pt.x, pt.y)
Dim pos As POINTAPI
Dim retval As Long
Dim retval2 As Long
Dim sp As String
retval = GetCursorPos(pos)
retval = WindowFromPoint(pos.x, pos.y)
retval2 = SendMessage(retval, WM_GETTEXT, 0, 0)

End Sub
شما پارامتر هاتونو اشتباه میدین
WM_GETTEXT
wParam = (WPARAM) cchTextMax; // number of characters to copy
lParam = (LPARAM) lpszText; // address of buffer for text


Parameters

cchTextMax

Value of wParam. Specifies the maximum number of characters to be copied, including the terminating null character.

lpszText

Value of lParam. Points to the buffer that is to receive the text.
ممنون پس باید طول رشته و مقدار اون رو تصحیح کنم درسته؟
بله ولی از تابع getwindowtext استفاده میکردید راحتر نبودید؟
چرا با اون هم میشه
با سلام مجدد ایا تابع sendmessage برای ارسال تبلیغات به یاهو مسنجر میتونه مورد استفاده قرار بگیره اگه جواب منفی هست با چه روشی این کار عملیه من تست کردم جواب نمیده و pm های من رو بصورت رشته خالی تو یاهو ارسال میکنه در صورتی که با نوت پد تست کردم جواب میداد
با سلام من منظور شما رو درست متوجه نشدم
اگه سوالی دارید واضح تر توضیح بدید
این هم مثالی در ارتباط با این سوال
http://forum.iranled.com/attachment.php?aid=186
سلام
من قصد ساخت یک رباط با api رو برای یاهو مسنجردارم
m_vb6 نوشته است:سلام
من قصد ساخت یک رباط با api رو برای یاهو مسنجردارم
دوست عزیز من پیغام خصوصیتون رو خوندم
در ضمن قانون انجمن به این شکل هست که وقتی توی یک تاپیک
شرکت می کنی باید فقط در ارتباط با اون تاپیک صحبت کنید
اگه سوالی دارید با ذکر جزئیات می تونید به صورت یک تاپیک مجرا
اون رو بپرسید تا دوستان یا من در صورت توان بهش جواب بدیم
سلام
برنامه شما دارای چند اشکال است
1 فقط یک تکس باکس رو چک میکنه
2 حتما باید نام پنجره ها مشخص باشه
3 برنامه من هم خارج از موضوع جدید مطرح شده نیست
4 از همه مهم تر خوشحال شدم توی این بحث شرکت کردین حتی اگه در کل تایپیک به نتیجه نرسه
با اجازه جناب iron_fist
m_vb6 نوشته است:با سلام مجدد ایا تابع sendmessage برای ارسال تبلیغات به یاهو مسنجر میتونه مورد استفاده قرار بگیره اگه جواب منفی هست با چه روشی این کار عملیه من تست کردم جواب نمیده و pm های من رو بصورت رشته خالی تو یاهو ارسال میکنه در صورتی که با نوت پد تست کردم جواب میداد
بله میتونین
بهتره برای طراحی رباط اولا پروتکل یاهو و کار با سوکتها رو خوب یاد بگیرین
در ضمن یاهو هم مثل سایتها و شرکتهای بزرگ دیگه از تکنولوژی com استفاده میکنه و یرای اون هم com library میده بیرون که بدون دردسر و خیلی راحت میتونین با سرورهای یاهو ارتباط برقرار کنین و هر وقت یاهو تغییری در سرورهاش بوجود اورد فقط برنامتونو با library جدید update کنین (از dll YMSG12 هم میتونین استفاده کنین)
یا با استفاده از سوکت اطلاعات خوتونو به صفحات وب سرور یاهو بفرستین واز اون روش عمل کنین(البته الان این کار خیلی سخت شده و یاهو کار با Session ها رو هم اورده تو این کار)
بهتره از dll yahoo استفاده کنین تو سایت هم هست
صفحه‌ها: 1 2