View Full Version : حرفه ای: چگونه روی یک پنجره هوک کنیم و پیغام هایی که به پنجره ارسال می شود را مدیرت کنیم
AbbasVB
پنج شنبه 08 فروردین 1392, 14:30 عصر
با سلام و تبریک سال نو
چگونه روی یک پنجره هوک کنیم و پیغام هایی که به پنجره ارسال می شود را مدیرت کنیم؟
Mask
پنج شنبه 08 فروردین 1392, 14:54 عصر
همه جا که هوک نیاز نیست.
برای این کار کافیه یه مسیج هندلر طراحی کنید و پیغامها رو بررسی کنید.
AbbasVB
پنج شنبه 08 فروردین 1392, 17:18 عصر
سلام
همه جا که هوک نیاز نیست.
برای این کار کافیه یه مسیج هندلر طراحی کنید و پیغامها رو بررسی کنید.
میشه بیشتر توضیح بدهید
یا اگه کدی دارید بذارید
mehran901
شنبه 10 فروردین 1392, 00:49 صبح
خب دوست عزیز شما با استفاده از مثلا تابعی مث : getmessage میتونین واسه چک کردن دریافت ی پیام توسط ی پنجره استفاده کنین
Private Declare Function GetMessage Lib "user32" Alias "GetMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long) As Long
توضیح : ipmsg که پارامتر از استراکچر msg هست و شامل مشخصات پیامه hwnd هندل پنجره مورد نظرتونه و wmsgfiltermin اولین پیغام مورد نظره
بعدیشم آخرین پیغام ارسال شده هست
استراکچر msg هم به شکل زیر تعریف کنین
type msg
hwnd as long
message as longwparam as long
iparam as long
time as long
pt as POINTAPI
end type
hwnd هندل پنجره ای هست که پیغام ازش هوک شده
message عدد مسیج مورد نظره
wparam اطلاعات اضافی پیغام و iparam هم همین طور
time زمان ارسال پیغام رو ذخیره کرده
pt از نوع استراکچر point هست که چیزی نداره و x y موس توش سیو میشه نوشتنش هم سادس
یا مثلا از تابع peekmessage هم جهت صف پیام های ویندوز استفاده کنین ، اگه پیام بیاد واسه پنجره مورد نظرتون در ساختار msg میتونید اونو بخونین
Private Declare Function GetMessage Lib "user32" Alias "GetMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
اینم ساختاراش مثل همونه با تفاوت در آخرین آرگمانش ، که وضعیت پیام دریافتی هست اگه صفر باشه بعد از پردازش از صف پیغام ها حذف نمیشه
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.