PDA

View Full Version : پیدا کردن موقیت مکان نما در صفحه نمایش



SSP_Software_team
جمعه 15 اسفند 1382, 17:32 عصر
سلام
من یه مشکل دارم دوستان ببینید چه طور میتونم این مشکل رو حل کنم خدا خیرتون بده :(
من میخوام موقعیت مکان نمارو تو صفحه نمایش پیدا کنم یعنی به این شکل که فرم من (البته تو MFC) فوکوس رو از دست داده و الان کاربر مثلا داره تو برنامه ی ورد تایپ میکنه حالا میخوام با زدن یه کلید از رو کیبورد مثلا F12 موقعیت مکان نمارو به دست بیارم بعدش اگه کلمه ای تو اون محیط(ورد)سلکت شده اون کلمه رو هم به دست بیارم و متنی رو هم در همون لوکیشن بنویسم

ممنون :)

Abbas Arizi
جمعه 15 اسفند 1382, 18:21 عصر
موقعیت مکان ما رو با این کد میشه به دست آورد:

POINT pt;
GetCursorPos(&pt);
ولی بقیه‌اش :oops:
البته میشه متن پنجره‌ای که کرسر روی اون هست رو از طریق تابع WindowFromPoint به دست آورد:

CString strRet;
CWnd* pWnd = WindowFromPoint(pt);
pWnd->GetWindowText(strRet);
ولی متن دقیق زیر کرسر رو نمیدونم چه طور میشه پیدا کرد.

راستی منظورت از مکان نما همون اشاره‌گر ماوس بود یا مکان نمای ویراستار ورد :shock: چون اینایی که من گفتم مربوط به اشاره‌گر ماوس بود. :oops:

Anti_Evil
جمعه 15 اسفند 1382, 22:04 عصر
با تشکر از آقای عباس خان ! ( بقیه هم یاد بگیرن !!! )

برای هدفی که شما دنبال میکنید گرفتن موقعیت موس و سپس بدست آوردن دستگیره پنجره کاری بس خطاست ...

برای حل اینجور مسائل ( global messaging ) ، پدر ( ++C ) ابزاری خوب در نظر گرفته که بزرگان آن را Windows Hook API نامند.

در اینترنت همان جمله را جستجو کنید که بیشتر از اطلاعات ناقص بنده اطلاعات بدست آورید.
من هم میگردم اگه از سورس های قدیمی چیزی گیر اومد پست میکنم.

موفق باشی SSP فرزند صالح پدر !