PDA

View Full Version : سوال: اجرا شدن فایل exe دلخواه داخل (محیط فرم ) vb6



goldpower
جمعه 05 خرداد 1391, 21:53 عصر
می خوام موقعی که روی command1 کلیک شد برنامه نقاشی خود ویندوز فقط و فقط داخل پیکچر باکس زیر اجرا بشه ؟

http://axgig.com/images/68462514804332632549.png


به شکل زیر :

http://axgig.com/images/82313787923497236808.png

بهروز عباسی
جمعه 05 خرداد 1391, 22:10 عصر
تا حالا چنین چیزی دیدی که می خوای بسازی؟

goldpower
جمعه 05 خرداد 1391, 22:22 عصر
تا حالا چنین چیزی دیدی که می خوای بسازی؟

به نظر شما هر چی قرارساخته بشه باید حتما قبلا دیده شده باشه :لبخند:

بهروز عباسی
جمعه 05 خرداد 1391, 22:33 عصر
به نظر شما هر چی قرارساخته بشه باید حتما قبلا دیده شده باشه

اینطوری حداقل می دونی که این کار رو میشه انجام داد(به آسونی)

arenaw
جمعه 05 خرداد 1391, 23:20 عصر
سلام
اول هندل اون پنجره رو پیدا کن، بعد با این api میتونی اونو داخل هر شی ای که hwnd داشته باشه بیاری

Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

واسه مثال 2 تا فرم بساز و اینو تو فرم1 بنویس:

SetParent Form2.hWnd, Me.hWnd
Form2.Show

بهروز عباسی
جمعه 05 خرداد 1391, 23:22 عصر
اینم سورس همون برنامه که گذاشتی
87469

M.T.P
شنبه 06 خرداد 1391, 00:04 صبح
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 Sub Command1_Click()
On Error Resume Next
Dim intRetval As Long
Dim intWait As Long

intWait = Timer

Shell "mspaint", vbMaximizedFocus

Do While (intRetval = 0)
intRetval = FindWindow(vbNullString, "untitled - Paint")
If (Timer - intWait) > 3 Then Exit Do
Loop

SetParent intRetval, Picture1.hwnd
End Sub

goldpower
شنبه 06 خرداد 1391, 08:59 صبح
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 Sub Command1_Click()
On Error Resume Next
Dim intRetval As Long
Dim intWait As Long

intWait = Timer

Shell "mspaint", vbMaximizedFocus

Do While (intRetval = 0)
intRetval = FindWindow(vbNullString, "untitled - Paint")
If (Timer - intWait) > 3 Then Exit Do
Loop

SetParent intRetval, Picture1.hwnd
End Sub

اگه بخوام برنامه نقاشی داخل پیکچر باکس کامل باز بشه ؟

دکمه exit برنامه نقاشی غیر فعال باشه ؟

Toolbar و Menubar و Statusbar برنامه نقاشی نشون داده نشه (مخفی باشه )؟

چه طور به جای mspaint از هر برنامه دیگه استفاده کرد؟