PDA

View Full Version : سوال: اجرا شدن یک برنامه داخل یک فرم



hmgjob
شنبه 30 تیر 1397, 12:01 عصر
سلام
من یک فرم ساده در #C دارم که می خواهم یک برنامه را درون آن اجرا کنم البته نه اینکه لینک را بزنم و برنامه اجرا شود بلکه دقیقا داخل فرم و چسبیده به خود فرم اجرا شود و وقتی کاربر فرم را می بیند احساس کند که همه اجزا جزئی از فرم هستند

danialafshari
شنبه 30 تیر 1397, 20:10 عصر
https://stackoverflow.com/questions/758494/how-can-i-run-another-application-within-a-panel-of-my-c-sharp-program

hmgjob
یک شنبه 31 تیر 1397, 10:07 صبح
https://stackoverflow.com/questions/758494/how-can-i-run-another-application-within-a-panel-of-my-c-sharp-program

آقا اینها جواب درست و درمونی نداده بودند
امکانش هست یه نمونه کوچک از یک فرم ساده با یک برنامه (هر برنامه ای که میشه) برام درست کنید اینطوری خیلی بهتر متوجه میشم چون آماتور هستم خیلی برام سخته

hmgjob
دوشنبه 01 مرداد 1397, 15:59 عصر
اساتید کسی میتونه کمک کنه؟

shahryari
دوشنبه 01 مرداد 1397, 16:53 عصر
سلام
من یک فرم ساده در #C دارم که می خواهم یک برنامه را درون آن اجرا کنم البته نه اینکه لینک را بزنم و برنامه اجرا شود بلکه دقیقا داخل فرم و چسبیده به خود فرم اجرا شود و وقتی کاربر فرم را می بیند احساس کند که همه اجزا جزئی از فرم هستند
سلام
اگه اون برنامه که میخای اجرا کنی با دات نت نوشته شده باشه یه روش داره اگه غیر دات نتی باشه یه روش داره
راه غیر دات نتیش همون لینکی که در پست 2 داده شد همونه
در روش دات نتی هم به راحتی میتونید فایل اجرایش رو به عنوان ریفرنس به برنامه اضافه کنید و فرمهاشو فراخوانی بکنید

ShayanFiroozi
یک شنبه 18 شهریور 1397, 15:50 عصر
سلام دوست عزیز

کلا برای این کار 2 راه کار وجود داره :

1- استفاده از کامپوننتی که سازنده اون برنامه در اختیار توسعه دهنده ها و برنامه نویس ها گذاشته(البته اگر اینکار رو کرده باشه)

2- *** این روش کاملا غیر اصولی هستش *** اجرای اون برنامه ، بدست آوردن کد هندل اون ، و تغییر parent اون به هندل شی شما !!

*** کلا باید از کدهای unsafe و API ویندوز استفاده کنین.

تابع FindWindowExA برای پیدا کردن هندل نرم افزار : https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-findwindowexa

تابع SetParent برای پیدا کردن هندل نرم افزار : https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setparent

موفق باشین:لبخندساده: