PDA

View Full Version : سوال: اجرا کردن فایل exe در فرم



ModernWarfare
جمعه 10 دی 1389, 11:45 صبح
با سلام
من با دستور Shell یک فایل exe را اجرا می کنم.
می خواستم بدونم چطور میشه مختصات Left , Top به این برنامه داد ؟
آیا کامپوننتی هست که بشه آدرس فایل exe را بهش داد و روی فرم vb به صورت یک کادر مثل picturebox نشون داد ؟
ممنون میشم راهنمایی کنید خیلی برام مهمه.

vbhamed
شنبه 11 دی 1389, 08:53 صبح
سلام
بايد از API استفاده كنيد
ابتدا بايد هندل پنجره اون برنامه رو بدست بياريد با استفاده از GetForegroundWindow يا توابع مشابه
سپس با SetWindowsPos مكان پنجره رو تنظيم كنيد
بعد با SetParent پنجره رو به هر مكان دلخواه مثلا داخل فرم يا پيكچرباكستون انتقال بدين

هر 3 تابع API هستند، براي اونها در سايت جستجو كنيد

reza_akbari2009
شنبه 11 دی 1389, 08:57 صبح
آقا حامد ممنون از راهنماییتون آیا میشه یه نمونه واسه ما آماتور ها بذاری تا بیشتر متوجه بشیم؟

ali.rezaei7
شنبه 11 دی 1389, 16:24 عصر
دردو.


با سلام
من با دستور Shell یک فایل exe را اجرا می کنم.
می خواستم بدونم چطور میشه مختصات Left , Top به این برنامه داد ؟
آیا کامپوننتی هست که بشه آدرس فایل exe را بهش داد و روی فرم vb به صورت یک کادر مثل picturebox نشون داد ؟
ممنون میشم راهنمایی کنید خیلی برام مهمه.

برای انجام این کار از دستورات پایین استفاده کنید.


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "User32.dll" ( ByVal hWndChild As Long, ByVal hWndNewParent As Long ) As Long


توابع بالا رو در ابتدای برنامه کپی کنید.


Dim hChild As long

hChild=FindWindow(vbnullstring,"WindowsTitle")

if hChild=0 Then MsgBox "Windows Not found." Else SetParent hChild,Me.hwnd

بجای WindowsTitle عنوان پنجره مورد نظر رو قرار بدید.