View Full Version : اجرا چند برنامه exe در یک exe
aleas2
پنج شنبه 31 مرداد 1392, 12:05 عصر
دوستان یه سوال داشتم نمیدونم اصلا شدنی یا نه!!
من سه تا پروژه vb6 ساختم که فایل اجرایی هر کدوم
Project1.exe
Project2.exe
Project3.exe
هستن حالا میخوام ببینم راهی هسته که فایل اجرایی بنام project4.exe
بسازم که هر زمان projext4.exe اجرا میکنم سه تا پروژه
Project1.exe
Project2.exe
Project3.exe
در پنجره برنامه projext4.exe اجرا بشن؟
109541
vbhamed
پنج شنبه 31 مرداد 1392, 12:08 عصر
سلام
از تابع SetParent استفاده كنيد، تو همين سايت نمونش هست
aleas2
پنج شنبه 31 مرداد 1392, 12:31 عصر
سلام
از تابع SetParent استفاده كنيد، تو همين سايت نمونش هست
ممنون همینی خودتان گفتین SetParent سرچ کردم ولی چیزی پیدا نکرد ! اگر چیز ديگه ای باید سرچ کنم ممنون میشم بگین
ضمنا" اینکاری من میخوام بکنم اجرا برنامه که خطی نمیشه؟یعنی این سه تا برنامه بصورت جدا گانه به کارشون انجام بدن فقط در قالب project4.exe باشن
اگر قبلا بحث شده بگین چی سرچ کنم ممنون میشم چون من به نتيجه نرسیدم اگر نشده خودتون یه نمونه بذارین یا راهنمایی ممنون میشم
vbhamed
پنج شنبه 31 مرداد 1392, 17:41 عصر
سلام
فقط كافيه هندل اون 3 تا فرمتون رو به برنامه چهارم بدين
http://barnamenevis.org/showthread.php?148772-%D9%86%D9%81%D8%B1-%D8%A8%D8%B9%D8%AF%D9%8A-%D9%83%D9%8A%D9%87-%D8%9F&p=689356#post689356
aleas2
پنج شنبه 31 مرداد 1392, 21:58 عصر
ممنون یه سوال دگه هم داشتم ! حالا چطور میتونم وقتی برنامه چهارم میزنم روی * همون بستن برنامه با چه کی باید تو رویداد
Private Sub Form_Unload(Cancel As Integer)
بنویسم که اون سه تا برنامه هم end بشه
چون اینجور برنامه چهارم میبندم باز اون سه تا برنامه در Process هستن
tootro20
پنج شنبه 31 مرداد 1392, 22:59 عصر
سلام.
اگه شما می خواین که همه برنامه ها یکجا اجرا بشن می تونید بایند هم کنیدا !!
aleas2
پنج شنبه 31 مرداد 1392, 23:37 عصر
سلام.
اگه شما می خواین که همه برنامه ها یکجا اجرا بشن می تونید بایند هم کنیدا !!
متوجه نشدم !
aleas2
جمعه 01 شهریور 1392, 11:31 صبح
جواب نهایی !
توابع api به فرم اضافه کنید
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim Handle As Long
نمایش برنامه مورد نظر در فرم
Private Sub Form_Load()
Handle = FindWindow(vbNullString, "عنوان پنجره")
SetParent Handle, Form1.hwnd
End Sub
hide کردن برنامه
Call ShowWindow(Handle, 0)
show برنامه
Call ShowWindow(Handle, 5)
بسته شدن برنامه
Private Sub Form_Unload(Cancel As Integer)
If Handle <> 0 Then
CloseResult = SendMessage(Handle, &H10, 0&, 0&)
End If
End
End Sub
aleas2
جمعه 01 شهریور 1392, 23:29 عصر
ببخشید دوستان یه سوال داشتم ! شایدم از پیش پا افتاده
با این کاری بنده کردم سه تا پروژه رو در project4.exe نمایش میده میخواستم بدونم
آیا اجرا این سه تا برنامه بصورت خطی میشه ؟یا هر کدام از این سه تا برنامه بصورت جدا گانه به کار خودشان ادامه میدن حتی اگر توسط کد
Call ShowWindow(Handle, 0)
hide بشن؟
Mr'Jamshidy
شنبه 02 شهریور 1392, 00:16 صبح
ببخشید دوستان یه سوال داشتم ! شایدم از پیش پا افتاده
با این کاری بنده کردم سه تا پروژه رو در project4.exe نمایش میده میخواستم بدونم
آیا اجرا این سه تا برنامه بصورت خطی میشه ؟یا هر کدام از این سه تا برنامه بصورت جدا گانه به کار خودشان ادامه میدن حتی اگر توسط کد
Call ShowWindow(Handle, 0)
hide بشن؟
نه به صورت خطی نمیشه چون هر کدوم Thread مخصوص به خودش رو داره
در اصل موضوع اصلا هیچ ربطی به هم ندارن مگر این که برنامه نویس برای این موضوع مواردی رو پیش بینی کرده باشه
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.