PDA

View Full Version : سوال: گرفتن مقدار در برنامه دیگر و نشان دادن آن در برنامه خودم



nimakbarzade
سه شنبه 15 اردیبهشت 1394, 22:48 عصر
سلام و خسته نباشید خدمت دوستان

من یک برنامه دارم طراحی میکنم
سر اینجا به مشکل بر خوردم
میخوام از داخل نرم افزاری دیگه, نرم افزارم مقدار بگیره
یعنی مثلا برنامه نخست که برای من نیست نوشته نام: علی نام خانوادگی:علیزاده
و اون مقدار در حال آپدیت و تغییر کردنه
حالا برنامه من این مقدار رو بگیره و اون برنامه نمیتونه قابلیت کپی و پیست هم نداره و فقط در حد نمایش دادنه
میخواستم بدونم چطور میتونم اون مقدار رو بگیرم و در برنامه خودم نمایشش بدم؟
برنامه خودم با زبان C#‎‎ هست

ممنون :لبخندساده:

مهرداد صفا
چهارشنبه 16 اردیبهشت 1394, 10:51 صبح
با سلام.
-با برنامه Spy++ که با VS نصب شده، نام کلاس پنجره (کنترل) مورد نظر رو به دست بیارید.
- می تونید با استفاده از تابع FindWindo (https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx) هندل پنجره اصلی رو گرفته و با استفاده از تابع FindWindowEX (http://www.pinvoke.net/default.aspx/user32/FindWindowEx.html) و نام کلاس که در مرحله قبل گرفتید، هندل کنترل مورد نظرتون رو بگیرید.
- حالا که هندل رو دارید میتونید با استفاده از تابع GetWindowText (http://www.pinvoke.net/default.aspx/user32.getwindowtext) و یا با ارسال پیغام WM_GetText (https://msdn.microsoft.com/en-us/library/windows/desktop/ms632627%28v=vs.85%29.aspx) با تابع SendMessage (http://pinvoke.net/default.aspx/user32.SendMessage) متن پنجره رو به دست بیارید.
-می تونید این عملیات رو داخل یک تایمر انجام بدید.