PDA

View Full Version : سوال: Declare Function SendMessage



Saman_12
یک شنبه 17 مرداد 1389, 19:18 عصر
سلام به دستان برنامه نویس.
من میخوام API SendMessage رو توی وبی دیکالر کنم.(توی 6 بلد بودم اما توی .net نمی دونم چجوریه)
با تشکر.

Mani_rf
یک شنبه 17 مرداد 1389, 19:34 عصر
Declare کردن تابع API در VB6 و VB.Net هیچ تفاوتی با هم نداره!!!

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal
hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer) As Integer

Saman_12
یک شنبه 17 مرداد 1389, 19:45 عصر
خیلی ممنونم اما مثل اینکه من منظورم رو بد رسوندم آخرین پارمتر API SendMessage توی وبی6 Iparam هست که از نوع Any میباشد اما وبی دات نت Any رو نمی شناسه؟
امیدوارم منظورم رو رسونده باشم!:قلب:

Mani_rf
یک شنبه 17 مرداد 1389, 19:47 عصر
به جای any از Object استفاده کن
البته اون پارامتر تا جایی که یادمه Int32 بر میگردونه ، Int32 بگذار ببین جواب میده.

Saman_12
یک شنبه 17 مرداد 1389, 19:56 عصر
آره با Int32 جواب میده دستت درد نکنه فقط یه سوال دیگه دارم که اگه جواب بدی واقا من رو شرمنده کردی!:قلب:
وقتی پیغام Wm_SetText رو به یه برنامه ارسال میکنم متنی که میخوام به عنوان Text بفرستم رو باید کجای API قرار بدم?

Mani_rf
یک شنبه 17 مرداد 1389, 20:18 عصر
یک نگاهی به این آدرس (http://msdn.microsoft.com/en-us/library/ms632627(v=VS.85).aspx)بی انداز، احتمالا کمکت می کنه.

Saman_12
یک شنبه 17 مرداد 1389, 21:54 عصر
از اون آدرس چیز زیادی دستگیرم نشد.
ولی به هر حال ممنون .
توی اینترنت گشت میزدم که نحوه دیکالر صحیح رو پیدا کردم میزارم تا بقیه استفاده کنن :

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParamAs As Integer, ByVal lParam As String) As Integer

Saman_12
دوشنبه 18 مرداد 1389, 00:58 صبح
بعد از ساعت ها جستجو :

Const WM_SETTEXT = &HC
SendMessage(Me.Handle, WM_SETTEXT, 0&, "Saman_12")
کد بالا عنوان برنامه شما رو به Saman_12 تغییر میده.!:کف: