PDA

View Full Version : سوال: چگونه می شود یک فایل exe رو تحت برنامه اجرا کرد



GSM-Forum
پنج شنبه 08 دی 1390, 13:59 عصر
سلام دوستان
هر فایل exe رو تحت برنامه اجرا کنم و درون یک کنترل( مثلا پنل ) قرار داده بشه.

من به این پست (http://barnamenevis.org/showthread.php?64210-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%AF%D8%B1-%D8%B3%D9%8A-%D8%B4%D8%A7%D8%B1%D9%BE&p=948680#post948680) هم سر زدم . چیزی ازش نفهمیدم.
ممنون میشم راهنمایی کنید.

(من تازه برنامه نویس رو شروع کردم )

میخوام فایل exe نوشته شده در سی شارپ کنار این فایل exe یک پوشه قرار بدم تا برنامه(عکس و exe ,...) از داخل این پوشه اجرا بشن و این پوشه وفایل exe رو توی کدام از درایو ها بریزیم مشکلی نداشته باشه.

http://up4.iranblog.com/images/t7wd63skh8jcqr1j2nbo.jpg (http://up4.iranblog.com/images/t7wd63skh8jcqr1j2nbo.jpg)

GSM-Forum
پنج شنبه 08 دی 1390, 22:50 عصر
کسی منو راهنمایی نمی کنه؟

ma.rad
جمعه 09 دی 1390, 08:20 صبح
System.Diagnostics.Process.Start("GSM-FORUM.exe");

GSM-Forum
جمعه 09 دی 1390, 10:07 صبح
System.Diagnostics.Process.Start("GSM-FORUM.exe");


ممنون دوست عزیز

من میخوام فایل exe داخل خود فرم اجرابشه جدا باز نشه.
من میخوام کنار برنامه اصلی exe یک پوشه قرار بدم که که فایل exe دیگر رو داخل اون بریزم وبا یک کلید این فایل ها داخل فرم اجرابشن
از چه دستوری استفاده کنم؟

GSM-Forum
جمعه 09 دی 1390, 17:10 عصر
اگه کسی لطف کنه منو راهنمایی کنه لطف بزرگی کرده.

abdullah20
جمعه 09 دی 1390, 18:28 عصر
سوالتون را متوجه نمیشم یعنی چی که داخل خود برنامه اجرا بشه؟

GSM-Forum
جمعه 09 دی 1390, 19:12 عصر
سوالتون را متوجه نمیشم یعنی چی که داخل خود برنامه اجرا بشه؟
سلام
منظورم این هست که که فایل exe داخل پنجره ی فرم اجرا بشه یک پنجره ی جدید باز نشود.

مانند این

http://up6.iranblog.com/images/5pabt353toundewwstsw.jpg (http://up6.iranblog.com/images/5pabt353toundewwstsw.jpg)

system32
جمعه 09 دی 1390, 21:59 عصر
سلام:

ابتا یک پنل و یک دکمه به فرمتون اضافه کنید سپس از دستوات زیر استفاده کنید. (تست شده)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Process p = Process.Start("notepad.exe");
p.WaitForInputIdle();
// Allow the process to open it's window
SetParent(p.MainWindowHandle, panel1.Handle);
}

[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
}
}

GSM-Forum
جمعه 09 دی 1390, 23:08 عصر
ممنون دوست عزیز

من می خوام غیر از notepad.exe هر فایل EXE اجرا کنه چه کار باید بکنم؟

GSM-Forum
شنبه 10 دی 1390, 11:36 صبح
ممنون میشم راهنمایی کنید

saam_2371369
شنبه 10 دی 1390, 13:19 عصر
سلام دوست من

من قبلا به این مشکل بر خوردم و تقریبا حل کردمش نمونه برنامه رو برای شما اپلود کردم
اگه نظر برای بهتر کردن روش من دارید خوشحال میشم بشنوم

79941

موفق باشید

system32
شنبه 10 دی 1390, 14:03 عصر
سلام

کاری نداره فقط باید به جای notepad.exe مسیر فایلتون رو قرار بدید مثلا c:\\test.ext

GSM-Forum
شنبه 10 دی 1390, 14:43 عصر
سلام

کاری نداره فقط باید به جای notepad.exe مسیر فایلتون رو قرار بدید مثلا c:\\test.ext
ممنون دوست عزیز

nunegandom
شنبه 10 دی 1390, 16:36 عصر
این که کار نمیکنه :S نوت پد باز میشه، و بسته میشه، نمیره تویه پنل! باز میشه یه جایه دیگه و تندبسته میشه!
اگه برای شما کار میکنه، لطف کنید ضمیمه کنید.

system32
شنبه 10 دی 1390, 23:02 عصر
سلام:

اینم یه نمونه:

GSM-Forum
شنبه 10 دی 1390, 23:14 عصر
این که کار نمیکنه :S نوت پد باز میشه، و بسته میشه، نمیره تویه پنل! باز میشه یه جایه دیگه و تندبسته میشه!
اگه برای شما کار میکنه، لطف کنید ضمیمه کنید.

منم همین مشکل رو داشتم پنل رو بزرگتر کنید حل میشه.

saam_2371369
شنبه 10 دی 1390, 23:30 عصر
سلام برنامه شما با برنامه های سبک کار میکنه

اگر شما Photoshop.exe رو اجرا کنید میبینید که داخل پنل نمیره

من این مشکل رو در فایل ضمیمه حل کردم

یک نکته دیگه که حل کردم در برنامه های که اجرا میشن نوار عنوان حذف میشه

به راحتی هر برنامه ای رو میتونید به نام خودتون عوض کنید :لبخند:

موفق باشید.

Sal_64
پنج شنبه 05 بهمن 1391, 21:56 عصر
سلام دوست من

من قبلا به این مشکل بر خوردم و تقریبا حل کردمش نمونه برنامه رو برای شما اپلود کردم
اگه نظر برای بهتر کردن روش من دارید خوشحال میشم بشنوم

79941

موفق باشید

سلام- نمونه برنامه جالبی بود - اما یه سوال اگه بخوایم علاوه بر title نرم افزار منوی اون هم نمایش داده نشه چیکار باید کرد؟ تشکر

saam_2371369
جمعه 06 بهمن 1391, 15:07 عصر
سلام دوست عزیز
این خط کد داخل برنامه پیدا کنید { MoveWindow(p.MainWindowHandle,0 , -100 , this.Width, this.Height, true); }
جای که با قرمز مشخص شده شما میتونید نسبت به برنامه مورد نظر بهش مقدار منفی بدید.
موفق و پیروز باشید.

aradrobo
جمعه 06 بهمن 1391, 15:46 عصر
خوب فایده ایمکار چیه ؟

naghshineh m&h
جمعه 06 بهمن 1391, 17:33 عصر
با عرض سلام خدمت دوستان نمونه برنامه را برایتان نوشتم اگر می خواهید دانلود کنید VS2010

naghshineh m&h
جمعه 06 بهمن 1391, 17:36 عصر
فایل اجرایی خود را در پوشه ای که نرم افزار در آن اجرا میشود کپی کنید سپس می توانید از کد زیر استفاده کنید
System.Diagnostics.Process.Start(Path.Combine(Envi ronment.CurrentDirectory, "calc.EXE"));

قبل از استفاده باید از فضای نام System.IO حتما اشتفاده نمایید

naghshineh m&h
جمعه 06 بهمن 1391, 17:39 عصر
رااستی فایده زیادی دازه مٍثلا می توانید برای آپدیت کردن برنامه استفاده کنید فایل آپدیت را فراخوانی کنید اعمالی را نجام داده و سپس دوباره برنامه اصلی را فراخوانی کنید