Sunday, February 07, 2010

איך לשלוח ולקבל הודעות בין אפליקציות בעזרת Windows Messaging

ברור שיש כמה דרכים לשלוח הודעות בין אפליקציות שונות...

לטובת הדגמה של נושא ה-UAC בכנס הקרוב של "תאימות אפליקציות ל-Windows 7", הייתי צריך ליצור תקשורת של Windows Messaging, בדומה ל-WM_MOUSEMOVE, בין שתי אפליקציות שונות ב-#C.

המטרה היתה שאפליקציה אחת תשלח הודעות והאחרת תאזין להן ותרשום כל הודעה שהגיעה. החלטתי להשתמש ב-win32 API של PostMessage, בדוגמא שמצאתי כאן והתאמתי לצרכי ההדגמה.

אני עושה שימוש בפונקציה RegisterWindowMessage בשתי האפליקציות בכדי ששתיהן יכירו את האירוע (ניתן היה גם בלי, לו הייתי רוצה להעביר אירוע בתוך האפליקציה, אבל כשמדובר בהעברת אירועים בין אפליקציות - רצוי להשתמש ב-RegisterWindowMessage).

לאחר מכן, האירוע נשלח ע"י שימוש ב-PostMessage.

מצורף הקוד.

Posted via email from jasper22's posterous