در این مقاله، راهحلهایی برای ارسال داده از یک پنجره به پنجره دیگر در ویندوز با استفاده از پیام WM_COPYDATA ارائه شده است. اگر فقط نیاز به ارسال یک پاسخ موفقیت/شکست است، بازگرداندن TRUE یا FALSE کافی است. برای ارسال اطلاعات بیشتر، میتوان از ارسال مجدد پیام WM_COPYDATA با استفاده از handle پنجره فرستنده یا ایجاد یک بلوک حافظه مشترک استفاده کرد. استفاده از بلوکهای حافظه مشترک نامدار (named) توصیه نمیشود، زیرا به همه فرآیندها قابل دسترسی هستند. در عوض، از بلوکهای حافظه مشترک بینام (anonymous) استفاده کنید که دسترسی به آنها فقط از طریق handle امکانپذیر است. در نهایت، نویسنده به نگرانیهای مشتری در مورد دسترسی به حافظه مشترک اشاره میکند و توضیح میدهد که خطر اصلی، دسترسی به فرآیند اصلی است، نه دسترسی به تمام فرآیندها.
مشاهده مطلب اصلی