PDA

View Full Version : بدست آوردن WindowText کنترلهای خارجی .



C++Lover
سه شنبه 25 اسفند 1383, 15:38 عصر
سلام.
لطفا به کد زیر توجه کنید من می خواستم با این کد text مربوط به هر window ای روی desktop رو بگیرم اما این کد فقط برای کنترل هایی مثل Button کار می کنه و اصلا روی Edit Control ها کار نمی کنه اما روی edit control های پنجره خود برنامه کار می کنه و جواب درست می ده اما اگه مربوط به برنامه دیگه ای باشه NULL می ده.


CWnd *wnd = (CWnd*)WindowFromPoint(point);
CString aa;
wnd->GetWindowText(aa);
MessageBox(aa);

کد بالا با MFC نوشته شده این کد رو هم با API نوشتم شاید بشه ولی نشد.


HWND hWnd = ::WindowFromPoint(point);
char * dtr = new char[101];
::GetWindowText(hWnd,dtr,100);
MessageBox(dtr);

ممنون می شم کمک کنید

Inprise
چهارشنبه 26 اسفند 1383, 04:07 صبح
وقتی میخای با کنترلهای سایر پروسه ها کار کنی ، به دلیل تفاوت فضای آدرسی ، تابع GetWindowText همیشه جواب نخواهد داد . برای رفع مشکلت باید از پیام WM_GETTEXT استفاده کنی .

C++Lover
چهارشنبه 26 اسفند 1383, 16:36 عصر
جناب Inprise عزیز واقعا از شما متشکرم که جواب سوالهای ما را می دهید .
امید وارم همیشه موفق و پیروز باشی.
:mrgreen: