واضح آرشیو وب فارسی:سایت ریسک: محافظت خودکار فایل ها در ویژوال بیسیک the_king 01 خرداد 1388, 16:27در این برنامه، یکسری فایل های موجود در یک مسیر مشخص، از دسترسی و مشاهده توسط سایر برنامه ها محافظت می شوند. بدین نحو که تا زمانی که برنامه در حال اجرا است، این فایل ها باز نخواهند شد و اگر برنامه به دلیلی به اجبار متوقف شود (End Task) فایل ها بدلیل کد گذاری محتویاتشان قابل استفاده نیستند مگر آنکه مجددا توسط برنامه به حالت عادی بازگردانده شوند. برای دسترسی آسان به فایل های محافظت شده، عنوان پنجره و نام کلاس آن پنجره که مربوط به یک برنامه دیگر (مثلا Microsoft Word) است، دریافت می گردد. در صورتی که برنامه چنین پنجره ای را مشاهده کند، قفل را غیر فعال کرده و به محض بسته شدن آن پنجره، مجددا قفل را فعال می کند. Foder Path مسیر پوشه ای است که بایستی فایل های درون آن محافظت شوند. فعلا فرمت های فایل BMP و EXE و GIF و JPEG و PDF و PNG و RAR و ZIP توسط برنامه شناسایی می شوند. دلیل نیاز به این شناسایی آن است که برنامه بتواند با توجه به محتویات فایل، فرق میان فایل قفل گذاری شده را با فایل محافظت نشده تشخیص دهد. اگر Subfolders تیک زده شود، زیر پوشه های احتمالی موجود در آن مسیر هم پیمایش شده و فایل های موجود در آنها نیز محافظت می شوند. File Extension فایلهایی که بایستی محافظت شوند را مشخص می کند، مثلا *.* یا BMP.* یا *.*TEST و غیره. اگر Lock Files تیک زده شود، تا زمانی که برنامه در حال اجرا است، فایلهای محافظت شده باز نمی شوند و دسترسی به آنها میسر نخواهد بود. مثلا قادر به کپی کردن یا حذف آن نخواهیم بود. اگر Change Header تیک زده شود، محتویات قسمت های ابتدای فایل کد گذاری می شود تا قابل استفاده نباشد. مثلا اگر یک فایل PDF محافظت گردد، توسط Adobe Reader قابل مشاهده نخواهد شد. حتی اگر به زور برنامه End Task شده باشد. اگر Change Footer تیک زده شود، محتویات قسمت های انتهایی فایل کد گذاری می شود تا قابل استفاده نباشد. این عمل در مورد پسوند فایلهایی نظیر ZIP الزامی است تا از تشخیص شان توسط ابزار های مربوطه جلوگیری شود. همانطور که قبلا اشاره شد، برنامه این قابلیت را دارد که با مشاهده یک عنوان پنجره خاص، قفل را غیر فعال و با بسته شدن آن پنجره، فعال نماید. عنوان پنجره می تواند یک متن ثابت نظیر Calculator یا یک عنوان متغیر نظیر Notepad* باشد. کاراکتر * برای جایگزینی هر عبارتی بکار می رود. همچنین کاراکتر ? جایگزین یک کاراکتر خواهد شد. مثلا Editor ??? کاراکتر # نیز جایگزین یک رقم 0 الی 9 خواهد شد. مثلا #.Cheat Engine 5 دقت کنید که این عنوان نسبت به کوچک و بزرگ بودن حروف حساس است. اگر قصد دارید که برنامه تحت اجرای هیچ پنجره ای محافظت را غیر فعال نکند، عنوان پنجره را خالی بگذارید. هر پنجره ای یک نام کلاس دارد، مثلا نام کلاس پنجره Microsoft Word برابر با OpusApp است. اگر نام کلاس پنجره مورد نظرتان را نمی دانید، این مقدار را خالی خواهید گذاشت. استفاده از نام کلاس کمک می کند تا پنجره هایی که عنوان مشابهی دارند از هم تشخیص داده شوند. نام پنجره هایی که در محیط Visual Basic اجرا می شوند ThunderFormDC است. این نام بعد از کامپایل شدن کد و اجرا شدن فایل exe به ThunderRT6FormDC تغییر می کند. توجه : محافظت زمانی آغاز خواهد شد که دکمه Start برنامه فشار داده شود و تا زمانی که روی دکمه Stop کلیک نشده، ادامه می یابد. اگر پنجره مورد نظر باز باشد، اجازه محافظت فایل داده نمی شود و بایستی ابتدا آن پنجره را ببندید. محافظت صرفا در مورد فایل هایی انجام می شوند که پیش از اجرای برنامه در مسیر مورد نظر وجود داشتند، اگر در طول محافظت فایل ها، فایل های جدیدی را به مسیر مورد نظر اضافه کنید، محافظت نخواهند شد. در اینصورت بایستی دکمه Stop را فشار داده و مجددا Start نمایید. کد کامل برنامه به همراه فایل اجرایی exe بصورت zip شده ضمیمه این پست می باشد. همچنین نمونه ای از فایل های پشتیبانی شده، در پوشه 1 این پیوست قرار دارند. saeid 2009 08 خرداد 1388, 05:11سلام به همگی و تشکر فراوان از آقای سعید به خاطر برنامه بسیار خوبشان. می خواستم ببینم آیا میشه کاری کرد که وقتی دکمه استارت رو زد همزمان فایل های دو تا پوشه قفل بشود؟مثلا دوتا تکست باکس داشته باشیم و وقتی روی استارت کلیک کردیم همزمان فایل های درون هر دوتا پوشه قفل بشوند. ممنون میشم کسی کمکم کنه کارم فوریه و در عین حال وقت کم دارم. مرسی the_king 08 خرداد 1388, 11:36سلام به همگی و تشکر فراوان از آقای سعید به خاطر برنامه بسیار خوبشان. می خواستم ببینم آیا میشه کاری کرد که وقتی دکمه استارت رو زد همزمان فایل های دو تا پوشه قفل بشود؟مثلا دوتا تکست باکس داشته باشیم و وقتی روی استارت کلیک کردیم همزمان فایل های درون هر دوتا پوشه قفل بشوند. ممنون میشم کسی کمکم کنه کارم فوریه و در عین حال وقت کم دارم. مرسی ابتدا همانطور که خودتان گفتید، یک یا چند تا TextBox دیگر می کنید و هر جای کد که Text1 وجود دارد، در سطر های دیگری برای TextBox های اضافه شده هم تکرار خواهید کرد. saeid 2009 08 خرداد 1388, 11:42ممنون آقای سعید ولی من دقیقا خودم چندین بار این کار رو کردم ولی فایده ای نداره .این برنامه جدیدی رو هم که گذاشتید .اصلا فایده ای نداره و محتوای داخل پوشه های 2 و 3 قفل نمیشوند. مرسی the_king 08 خرداد 1388, 16:51متغیر Protected در موقعیت های نادرستی تغییر کرده بود. شرمنده. کد ویرایش گردید و دوباره آپلود شد. reza_akbari 09 مرداد 1388, 15:13ببخشید یک سوال واسه من پیش اومده فرض کنید ما 40 تا فایل عکس داریم داخل یک پوشه که میخواهیم از این 40 تا 5 تاشون قفل نشند اسم فایل هامون هم 30.31.32.33.34برای این کار باید چیکار کرد؟ saeid 2009 28 مرداد 1388, 07:33سلام یک سوال دارم : من حجم فایلم هام بسیار زیاده در حد 1 گیگ وقتی که میخوام قفلشون کنم یا از قفل درشون بیارم حدود 1 یا 2 دقیقه طول میشکه اما وقتی که برای بار دوم میخوام همون فایل ها رو قفل کنم زیاد طول نمیشکه مثلا درحد 10 یا 5 ثانیه میشه. حالا دوباره اگر کامپیوتر رو ریستارت کنم و یا خاموش کنم ودوباره بخوام فایل ها رو قفل کنم بازم همون2 دقیقه طول میشکه میخواستم ببینم راهی هست که بتونیم کاری کنیم که حتی با ریستارت کردن کامپیوتر هم فقط همون 10 ثانیه طول بشکه یعنی اون 2دقیقه فقط واسه دفعه اول که فایل رو قفل میکنیم صورت بگیریه و واسه بار بعدش کمتر بشه. مرسی mo.esmp 28 مرداد 1388, 11:18سلام. آيا براتون امکان داره سورسش رو به .net هم تبديل کنيد ؟ reza_akbari 21 شهريور 1388, 16:31سلام ببخشید من این برنامه رو exe کردم و روی چند تا سیستم که حتی vb نصب نبود امتحان کردم درست بود اما روی بعضی ها که vb نصب بود امتحان کردم ولی باز نشد و این ارور رو داد . run time error 5 - invalid procedure call or argument ممنون میشم کمکم کنید. saeid 2009 07 آبان 1388, 12:34سلام یک سوال دارم : من حجم فایلم هام بسیار زیاده در حد 1 گیگ وقتی که میخوام قفلشون کنم یا از قفل درشون بیارم حدود 1 یا 2 دقیقه طول میشکه اما وقتی که برای بار دوم میخوام همون فایل ها رو قفل کنم زیاد طول نمیشکه مثلا درحد 10 یا 5 ثانیه میشه. حالا دوباره اگر کامپیوتر رو ریستارت کنم و یا خاموش کنم ودوباره بخوام فایل ها رو قفل کنم بازم همون2 دقیقه طول میشکه میخواستم ببینم راهی هست که بتونیم کاری کنیم که حتی با ریستارت کردن کامپیوتر هم فقط همون 10 ثانیه طول بشکه یعنی اون 2دقیقه فقط واسه دفعه اول که فایل رو قفل میکنیم صورت بگیریه و واسه بار بعدش کمتر بشه. مرسی ببخشید کسی نیست جواب منو بده :rose:مثلا میشه توی بار اولی که میخواد قفل کنه محتوا رو توی یک فایل متنی چیزی ذخیره کنه و برای بارهای بعد از روی همون فراخوانی کنه؟؟؟؟
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2449]