PDA

View Full Version : مشورت درمورد مکان و چگونگی Extract فایل های موجود در Resource



Win_RT
چهارشنبه 07 تیر 1391, 10:54 صبح
سلام چنتا سوال
چجوری می تونم آدرس پوشه temp window رو به دست بیارم،می خوام خیالم راحت باشه که مه در Seven و هم در XP مشکلی پیش نیاد.
برای یه برنامه Portable و Stand Alone پوشه Temp جای مناسبی برای Extract فایلام هست؟شما خودتون فایلاتونو کجا میریزید مکنید؟
من تا به الان برا این پروژم فایل و پوشه ها رو به صورت مخفی و سیستمی کنار برنامه اجرایی می ریختم تا کاربر نبینه،ولی بعد یادم افتاد که اینجوری رو CD نمی تونه اجرا بشه،چون رو CD که نمیشه رایت کرد؛در مورد Extract تو جاهای دیگه هم یه مشکلی هست؛مثلا تو کامپیوترای دانشگاه ما اجازه نصب برنامه ها و رایت روی هارد رو بستن،
و وقتی برناممو می دم به یه دانشجویی که از یه شهر دیگه اومده،طرف مجبوره تو همون کامپیوتر یا کافینتی جایی ببینه،بعدش برنامه اجرا نمیشه و من ضایع میشم! ولی وقتی فیلا کنار برنامه رایت بشن،برنامه می تونه رو Flash اجرا بشه.با این حال حتی سیستم اجازه رجیستر کردن یه DLL رو هم نمیده!!
به نظرتون ججوری برناممو درست کنم که همه جا اجرا بشه؟
جالبه تو کامپیوترای دانشگاه همه جور ویروسی پیدا میشه،انگار فقط برنامه های علمی نمی تونن اجرا بشن!!
جدا این ویروسا پس دیتابیسشونو کجا میریزن؟ خودشونو چجوری رو هارد کپی میکنن؟چجوری خودشونو میزارن startup وقت Registery بستس؟
کلا موندو چه روشی اتخاذ کنم

Felony
چهارشنبه 07 تیر 1391, 12:18 عصر
اگر فایل هاتون واقعا فایل های موقتی هستند و بعد از بستن برنامه حذف میشن همون پوشه Temp گزینه مناسبی هست ، اگر فایل ها تنضیمات برنامه یا دیتابیس کوچیکی در مورد برنامه هست به گفته خود مایکروسافت باید در پوشه AppData کاربر مورد نظر ذخیره بشه .

برای به دستن آوردن آدرس پوشه Temp :

var
TempPath: Array [0..MAX_PATH] of Char;
begin
GetTempPath(MAX_PATH, TempPath);
end;

مسیر AppData :

uses SHFolder;

function GetSpecialFolderPath: string;
const
SHGFP_TYPE_CURRENT = 0;
var
path: array [0..MAX_PATH] of char;
begin
if SUCCEEDED(SHGetFolderPath(0, CSIDL_LOCAL_APPDATA,0,SHGFP_TYPE_CURRENT,@path[0])) then
Result := path
else
Result := '';
end;