PDA

View Full Version : حرفه ای: دسترسی به کامپوننت های یک پنجره در برنامه ای دیگر



hmeshkini
جمعه 04 دی 1388, 12:29 عصر
سلام
صورت مسئله من به این شرحه:
اگر بخواهیم به عنوان مثال به متن یک TextBox در یک پنجره از برنامه ای دیگر دسترسی داشته باشیم چه کار باید کرد.
نکته اینکه اصلا نمیدونیم اون برنامه به چه زبانی نوشته شده و فقط یک پنجره باز از اون در اختیار داریم. من خیلی گشتم و مطالبی رو هم پیدا کردم ولی جواب نگرفتم. راهی که اکثر فرومها و سایتها گذاشته بودند استفاده از تابع SendMessage از user32.dll بود. من استفاده کردم ولی جواب نداد. البته handle پنجره رو پیدا کردم.

ممنون هر کسی بتونه کمک کنه خیلی لطف کرده

hamidsolat
شنبه 05 دی 1388, 01:00 صبح
استفاده از تابع SendMessage درست است . من قبلا این کارو انجام دادم به این ترتیب که هندل یه برنامه رو بدست می آرم و با استفاده از این هندل، کامپوننت های روی اون فرم رو بدست می آرم بعد یه دستور کپی ارسال می کنم البته شما باید قبل از دستور کپی دستور select all رو بفرستی که من عدد اون رو نمی دونم. البته این کار کلی نیست و روی همه برنامه ها جواب نمی ده .

shask00l
شنبه 05 دی 1388, 02:14 صبح
برای انتخاب همه ی محتویات میتونی با تابع sendkey ترکیب کلیدهای ctrl+A رو بفرستی .