نمایش نتایج 1 تا 4 از 4

نام تاپیک: استفاده از فایلهای Resource

  1. #1

    استفاده از فایلهای Resource

    با سلام.
    امیدوارم عنوان تاپیک رو درست انتخاب کرده باشم و بتونم سوالم را بصورت واضح مطرح نمایم.
    فرض کنید که 2 نوع فایل داریم ، فایل اول که می تواند بصورت های txt ، data ، bin , ... باشد و فایل دوم بصورت exe می باشد که اجرا کننده فایل های اول است. یعنی مثلا :


    ShellExecute(Handle,'open','MyExe.exe','MyData.bin ', nil, SW_SHOWNORMAL) ;


    فرض کنید که کاربر به فایل های نوع اول (MyData.bin )، نباید دسترسی داشته باشد و فقط بتواند نتیجه آن را بصورت اجرا شده با برنامه MyExe.exe مشاهده کند . اگر ازResourceStreamاستفاده کنم ، هنگام اجرا باید این فایلها را ابتدا در جایی ذخیره کرده و سپس استفاده نماییم و با این کار ،کاربر به راحتی می تواند به آن دسترسی داشته باشد . مانند زیر :

    FileName := ExtractFilePath(Application.ExeName)+'MyData.bin';
    TRS := TResourceStream.Create(hInstance, 'MyData', RT_RCDATA);
    try
    TFS := TFileStream.Create(FileName, fmCreate) ;
    try
    TFS.CopyFrom(TRS, 0) ;

    finally
    TFS.Free;
    end;
    finally
    TRS.Free;
    end;
    ShellExecute(Handle,'open','MyExe.exe','MyData.bin ', nil, SW_SHOWNORMAL) ;

    اینکه آیا می شود فایل رو ذخیره نکرد و مستقیم اجرا نمود ؟
    حتی در پوشه ایی مانند TEMP هم ذخیره نگردد و یا حتی با نام و فرمت دیگری هم ذخیره نگردد ، چون در تمام این ها کاربر می تواند دسترسی داشته باشد.
    یا اینکه روش دیگری وجود دارد و از ابتداروش من اشتباه می باشد؟
    ممنون می شوم که راهنمایی نمایید. با سپاس

  2. #2

    نقل قول: استفاده از فایلهای Resource

    میتوان فایل رو بدون اکستراکت بر روی دیسک فیزیکی بر روی رم اجرا نمود.ولی اکستراکت کردن فایلها از ریسورس هم کار چندان سختی نیست.
    یعنی عملا این روش ،روش امنی برای محافظت از فایلهای جانبی نیست.
    شما اصل کاری که مد نظر دارید رو بفرمایید. شاید در کل دارید راه رو اشتباه میرید.


  3. #3

    نقل قول: استفاده از فایلهای Resource

    بله ممکنه کلا راه رو اشتباه رفته باشم.
    ببینید فایل های اصلی ما که باید محافظت بشوند یک سری فایل های bin هستند (مانند 1b 25 2d 31 32 33 34 35 58 40 50 4a 4c 0d 0a ... ) که با نام MyData.bin ذخیره شده اند.و کاربر به محتوای این فایل ها نباید دسترسی داشته باشد . برنامه اجرایی MyExe.exe ، اجرا کننده این فایل ها است. (بطور مثال فرض کنید که یک فایل موزیک دارید که فقط باید با پخش کننده خاصی پخش شود و کابر امکان دسترسی به فایل موزیک رانداشته باشد ).
    هدف ما در برنامه نوشته شده با دلفی این است که با کلیک روی یک باتن ، اجرا کننده exe اجرا شده و bin را اجرا کند.(مثل اینکه برنامه notepad یک txt باز کند).
    همچنین نمی خواهم از زیپ کردن استفاده نموده و موقع اجرا اکسترکت کنم.
    سپاس از توجهی که داشتید.

  4. #4

    نقل قول: استفاده از فایلهای Resource

    نقل قول نوشته شده توسط mfarhad مشاهده تاپیک
    بله ممکنه کلا راه رو اشتباه رفته باشم.
    ببینید فایل های اصلی ما که باید محافظت بشوند یک سری فایل های bin هستند (مانند 1b 25 2d 31 32 33 34 35 58 40 50 4a 4c 0d 0a ... ) که با نام MyData.bin ذخیره شده اند.و کاربر به محتوای این فایل ها نباید دسترسی داشته باشد . برنامه اجرایی MyExe.exe ، اجرا کننده این فایل ها است. (بطور مثال فرض کنید که یک فایل موزیک دارید که فقط باید با پخش کننده خاصی پخش شود و کابر امکان دسترسی به فایل موزیک رانداشته باشد ).
    هدف ما در برنامه نوشته شده با دلفی این است که با کلیک روی یک باتن ، اجرا کننده exe اجرا شده و bin را اجرا کند.(مثل اینکه برنامه notepad یک txt باز کند).
    همچنین نمی خواهم از زیپ کردن استفاده نموده و موقع اجرا اکسترکت کنم.
    سپاس از توجهی که داشتید.
    بنده یه مدتی در این زمینه کارکردم. روالهای زیر رو بررسی و تست کردم
    فایلها را در یک فایل رمز دار zip ریخته و بدون اکستراکت روی هارد، در حافظه از فایل زیپ خارج و اجرا میکردم.مشکلی که داشت ، بعضی از فایلها به علت حجم زیاد ، برنامه را سمت out of memory میبرد و عملا به درد نخورد.
    روشه بعدی که مفید بود و الان دارم از اون استفاده میکنم.(البته فقط برای فایلهای صوتی و تصویری) : این فایلهارو کد میکنم و پلیر داخلی برنامه بصورت بایت به بایت دیکد میکنه و اجرا میکنه.
    حالا اینکه شما فایلهای bpl رو نیاز دارید که محافظت کنید ، میتونید از برنامه MoleBox هم استفاده کنید.MoleBox



تاپیک های مشابه

  1. سوال: استفاده از فایلهای داخل Resources در زمان اجرای برنامه
    نوشته شده توسط roya.raha در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 10 مهر 1392, 03:04 صبح
  2. استفاده از فایلهای Resource در VB 6
    نوشته شده توسط M-Gheibi در بخش برنامه نویسی در 6 VB
    پاسخ: 13
    آخرین پست: چهارشنبه 17 مهر 1387, 16:04 عصر
  3. سوال: استفاده از فایلهای Resource.resx در برنامه
    نوشته شده توسط pazis-flasher در بخش VB.NET
    پاسخ: 1
    آخرین پست: چهارشنبه 09 مرداد 1387, 17:42 عصر
  4. استفاده از فایلهای SWF در C++‎
    نوشته شده توسط zrahimic در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: سه شنبه 03 آذر 1383, 14:03 عصر
  5. استفاده از فایلهای Flash در Visual C++‎
    نوشته شده توسط zrahimic در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: شنبه 30 آبان 1383, 09:16 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •