PDA

View Full Version : سوال- قرار دادن فیل exe در ریسورس برنامه و اجرای آن



mp_mp353
پنج شنبه 31 مرداد 1392, 22:47 عصر
با سلام.
میخواستم ببین آیا میشه یک فایل exe رو داخل ریسورس برنامه قرار داد بعد از همون جا اجرا کرد؟
اگه این کار شدنی هست ممنون میشم توضیح بدید.

plus
پنج شنبه 31 مرداد 1392, 23:24 عصر
تا اونجا که من میدونم هر فایل اجرایی واسه اجرا شدن باید روی Disk باشه...میتونی از resource کپی ش کنی توی پوشه Temp و از اونجا اجراش کنی.

mp_mp353
پنج شنبه 31 مرداد 1392, 23:49 عصر
خوب در این رابطه میشه یکم توضیح بدید؟
راستش من میخوام کاربر به برنامه دوم دست رسی نداشته باشه و ندونه چه برنامه ای اجرا میشه.

plus
جمعه 01 شهریور 1392, 01:09 صبح
در ویندوز یه Folder داریم به اسم Temp که برای فایل های موقت استفاده میشه.Resource شما هم احیانا، یک آرایه از بایت هست.میتونید با System.IO.Path.GetTempPath آدرس پوشه Temp رو بدست بیارید (با یک نام یکتا و فرمت مورد نظر ترکیبش کنید تا اسم کامل فایل بدست بیاد)، با System.IO.File.WriteAllBytes، محتویات Resource رو توی فایل بریزین و با استفاده از متد Start از کلاس System.Diagnostincs.Process فایل مورد نظر رو اجرا کنید.

string tempFileName = System.IO.Path.Combine(System.IO.Path.GetTempPath( ), Guid.NewGuid().ToString() + ".exe");
System.IO.File.WriteAllBytes(tempFileName, Properties.Resources.MyResourceFile);
System.Diagnostincs.Process process = new System.Diagnostincs.Process();
process.Start(tempFileName);

کد رو دستی نوشتم ممکنه خطای نگارشی داشته باشه...در ضمن، آخرش کاربری که پیگیر باشه میتونه exe رو پیدا کنه...

aliagamon
جمعه 01 شهریور 1392, 08:50 صبح
اگه فلدر تمت رو hidden کنی و همینطور سیستمی بشناسونیش کاربرای عادی نمیفهمن....