PDA

View Full Version : قرار دادن فایل ها داخل exe برنامه



dasssnj
دوشنبه 16 تیر 1393, 12:54 عصر
سلام دوستان من خیلی تازه کارم لطفا کمک کنید.
دوتا سوال داشتم :

اولیش اینه که چطوری توی vs 2010 برای exe برنامم ایکن بزارم؟
دومیش اینه که چطور میشه یه فایل مثلا apk را داخل فایل exe برنامه بزارم و ازش استفاده کنم طوری که به صورت یه فایل توی پوشه ی برنامه نباشه و توی خود exe باشه؟

ممنون.

#target
دوشنبه 16 تیر 1393, 14:44 عصر
یک ریسور ایجاد کن آیکن اول که بذاری آیکن همون فایلته
برای حالت دوم هم احتمالا میشه بصورت باینری به آخر فایل اضافه کرد بعد اونو بعنوان فایل باز کرد و خوند . باید امتحان کنم !

dasssnj
سه شنبه 17 تیر 1393, 08:27 صبح
پس فایل های setup چجوری این همه فایل توشونه؟

من برنامم هم برای اندرویده و هم pc . می خوام فایل اندروید را توی فایل exe بزارم تا با برنامه ی خودم و با usb روی گوشی کاربر نصبش کنم.

emadrezvani
سه شنبه 17 تیر 1393, 09:36 صبح
یکی از ساده ترین حالات base64 کردن فایل هست و در هنگان ایجاد فایل در مقصد باید دیکد و ذخیره کنی.

محمد فدوی
سه شنبه 17 تیر 1393, 11:47 صبح
فایل APK برنامت رو به عنوان یک Resource توی پروژت اضافه کن و هروقت لازم بود اونو تحویل کاربر بده.
http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.90).aspx

dasssnj
سه شنبه 17 تیر 1393, 11:59 صبح
فایل APK برنامت رو به عنوان یک Resource توی پروژت اضافه کن و هروقت لازم بود اونو تحویل کاربر بده.
http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.90).aspx

ممنون ولی میشه خودتون توضیحش بدید؟ فکر کنم همین بود ولی زیاد ازش چیزی نفهمیدم.

dasssnj
سه شنبه 17 تیر 1393, 12:42 عصر
ممنون مشکل ایکن و اضافه کردن فایل apk حل شد.
حالا فقط می خوام بدونم چجوری این فایل را باز کنم یا اینکه اونو توی خط فرمان به کار ببرم.
مثلا این طوری :

adb install Myapp.apk

این دستوریه که برنامه را نصب می کنه حالا فایل apk را چجوری بدون اینکه درش بیارم آدرسشو توی خط فرمان بدم؟
اگر هم اونجوری نمیشه لطفا بگید چجوری استخراجش کنم یا در جا بازش کنم.
ممنون.

محمد فدوی
سه شنبه 17 تیر 1393, 20:29 عصر
اول فایل APK رو از توی Resourceهات در میاری و توی هارد ذخیره میکنی (Extract میکنی)؛ انجام این کار هم بستگی داره از چه فریموورکی برای اینکار استفاده میکنی...
اگه از MFC استفاده میکنی هرچند نوشتن دستیش اصلا سخت نیست ولی به نظرم از BinRes (http://www.codeproject.com/Articles/4221/Adding-and-extracting-binary-resources) استفاده کن. روش استفادش هم سادست توی لینک خودش گفته.
اگه از MFC استفاده نمیکنی بگو فریموورکتو تا بیشتر راهنماییت کنیم.

مرحله بعد اینه که دستور adb رو اجرا کنی. برای اجرای Command در ++C بطور استاندارد از تابع system (http://www.cplusplus.com/reference/cstdlib/system/) استفاده میشه (و البته توی هر فریموورک جایگزین هایی هم داره)
اگه adb رو توی Classpath نداری:

system("D:\\Path\\To\\ADBTools\\adb install E:\\Path\\To\\File.apk");

اگه مطمئنی که adb توی Classpath قرار داره:


system("adb install E:\\Path\\To\\File.apk");


ولی به نظرم نصب فایل توی دیوایس اندرویدی رو بصورت خودکار توی برنامت انجام نده. چون این کار زوایای زیادی داره (روشن بودن Debugging Mode، نصب بودن درایور، سطح دسترسی، سخت گیری بعضی فایروال ها و...)

dasssnj
چهارشنبه 18 تیر 1393, 13:27 عصر
من از خود c++ استفاده می کنم و از mfc یا فریمورک های دیگه استفاده نمیکنم.
بله adb توی classpath قرار داره.
دستور system را می دونستم فقط اکسترکت فایل برام مهمه.

محمد فدوی
چهارشنبه 18 تیر 1393, 16:50 عصر
برای اینکار توی ++Win32 C از همون BinRes که برات گذاشتم میتونی استفاده کنی.

dasssnj
پنج شنبه 19 تیر 1393, 04:22 صبح
برای اینکار توی ++Win32 C از همون BinRes که برات گذاشتم میتونی استفاده کنی.

سلام.
من binres را به پروژه ام اضافه کردم ولی به دستوراتی مثل findresources و loadResources و چند تا دیگه ایراد گرفت . فایل winbase.h را هم include کردم ولی این دفعه به همین فایل ایراد گرفت. ولی توی پروژه ی سمپل binres از هیچ جاش ایراد نمی گرفت.

dasssnj
شنبه 21 تیر 1393, 05:23 صبح
به ریسورس های از نوع string چجوری میشه دست پیدا کرد؟

dasssnj
دوشنبه 23 تیر 1393, 06:35 صبح
باید اینو اضافه می کردم ببخشید
#include <Windows.h>

از همه ممنون مشکلم کاملا حل شد.