PDA

View Full Version : تابع SendMessage



roomezonline
شنبه 29 تیر 1387, 02:07 صبح
سلام
میشه در باره تابع SendMessage توضیح بدید
من میخوام یه کلید رو در یک برنامه خارج از وی بی ( مثلا یاهو یا ورد یا هر برنامه ای که خارج از محیط وی بی باشه ) رو فشار بدم یا که کاری رویه آن انجام بدم - میشه راهنمایی کنید:گریه:

__siavash__
شنبه 29 تیر 1387, 02:13 صبح
سلام
میشه در باره تابع SendMessage توضیح بدید
من میخوام یه کلید رو در یک برنامه خارج از وی بی ( مثلا یاهو یا ورد یا هر برنامه ای که خارج از محیط وی بی باشه ) رو فشار بدم یا که کاری رویه آن انجام بدم - میشه راهنمایی کنید:گریه:
شما اول باید هندل اون آبجکت مورد نظرتون رو بدست بیارید
FindWindow
FindWindowEX
و...
بعد پیغام مورد نظرتون رو براش بفرستید
قبلا یه لیستی از پیغام های پر کاربرد رو تو سایت آپلود کرده بودم (با اسم All Windows Message ) میتونی از اون هم برای آشنایی با پیغام ها کمک بگیری !!!

roomezonline
شنبه 29 تیر 1387, 02:30 صبح
اگر امکانش هست یه سورس آماده یا code رو واسم بذارید


شما اول باید هندل اون آبجکت مورد نظرتون رو بدست بیارید
FindWindow
FindWindowEX
و...
بعد پیغام مورد نظرتون رو براش بفرستید
قبلا یه لیستی از پیغام های پر کاربرد رو تو سایت آپلود کرده بودم (با اسم All Windows Message ) میتونی از اون هم برای آشنایی با پیغام ها کمک بگیری !!!

لطفان سورس اگر امکانش هست

__siavash__
شنبه 29 تیر 1387, 11:54 صبح
فرض کن هندل Button مورد نظر رو داری با این کد میتونی براش پیغام کلیک بفرستی !!!


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 Const BM_CLICK = &HF5
Private Sub Command1_Click()
SendMessage YourObjectHwnd, BM_CLICK, 0, 0
End Sub

koruir
شنبه 29 تیر 1387, 13:30 عصر
سياوش جان ميشه اون لينک All Windows Message رو بزاري اينجا؟
آخه من تا الان ليست کاملي نداشتم. درضمن در مورد GetFocus يا GotFocus با تابع SendMessage ميتوني توضيح بدي؟ ممنون.

__siavash__
شنبه 29 تیر 1387, 13:52 عصر
سياوش جان ميشه اون لينک All Windows Message رو بزاري اينجا؟
آخه من تا الان ليست کاملي نداشتم. درضمن در مورد GetFocus يا GotFocus با تابع SendMessage ميتوني توضيح بدي؟ ممنون.

All Windows Message
نیاز به توضیحات جامع در مورد تابع SendMessage (http://barnamenevis.org/forum/%D9%85%D8%A8%D8%A7%D8%AD%D8%AB-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-vb/85302-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA-%D8%AC%D8%A7%D9%85%D8%B9-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%D8%AA%D8%A7%D8%A8%D8%B9-sendmessage.html)

GetFocus


Private Declare Function GetFocus Lib "user32" () As Long

این API هندل پنجره ای رو که فوکوس روی اون باشه رو برمیگردونه
(فقط برای برنامه خودتون کار میکنه)

اما GotFocus یه Events هستش !

البته من منظور شما رو از این جمله متوجه نشدم

درضمن در مورد GetFocus يا GotFocus با تابع SendMessage ميتوني توضيح بدي؟

koruir
شنبه 29 تیر 1387, 14:28 عصر
سياوش جان من ميخوام که يک Object که در يه برنامه ديگه هست و Handle اون رو دارم Focus رو بگيره.

__siavash__
شنبه 29 تیر 1387, 16:21 عصر
سياوش جان من ميخوام که يک Object که در يه برنامه ديگه هست و Handle اون رو دارم Focus رو بگيره.
شما با استفاده از این ثابت میتونید این کارو بکنید


Private Const WM_SETFOCUS = &H7

به این صورت


SendMessage Object.hwnd, WM_SETFOCUS, 0, 0