PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : قرار دادن تاریخ انقضاء یا شمارشگر پایان اعتبار برای فایل اکسل بوسیله vb ( در رجیستری سیستم )



misammisam
2015/02/04, 16:44
با سلام
با این کد بصورت جالبی میشه برای فایل اکسل به وسیله تعریف یک متغییر در رجیستری سیسنم هدف محدودیت اجرا اعمال کنید .
این کد رو در قسمت Thisworkbook کپی کنید


Private Sub Workbook_Open()
n = GetSetting("pass", "pass", "pass", 0) + 1
If n > 5 Then
MsgBox "فایل از دسترس خارج شده", vbCritical
Application.Quit
End If
MsgBox n
SaveSetting "pass", "pass", "pass", n
End Sub



حتی میتونید با یکم دستکاری متغییر n رو با تاریخ و ساعت مقدار دهی کنید و فایلتونو بعد از یک تاریخ خاص از دسترس خارج کنید ، فرقش با مقدار دهی عادی اینه که کاربر دیگه نمیتونه با عقب و جلو کردن تاریخ سیستم دورش بزنه .
اگر فایل رو کد گذاری کنید و با مبدلهایی که وجود داره فایل رو exe کنید ، دیگه فایلتون خیلی سخت هک میشه و تعداد اجراشم توسط خودتون قابل کنترله .

exceliran
2015/02/09, 22:34
با سلام
با این کد بصورت جالبی میشه برای فایل اکسل به وسیله تعریف یک متغییر در رجیستری سیسنم هدف محدودیت اجرا اعمال کنید .
این کد رو در قسمت Thisworkbook کپی کنید


Private Sub Workbook_Open()
n = GetSetting("pass", "pass", "pass", 0) + 1
If n > 5 Then
MsgBox "فایل از دسترس خارج شده", vbCritical
Application.Quit
End If
MsgBox n
SaveSetting "pass", "pass", "pass", n
End Sub



حتی میتونید با یکم دستکاری متغییر n رو با تاریخ و ساعت مقدار دهی کنید و فایلتونو بعد از یک تاریخ خاص از دسترس خارج کنید ، فرقش با مقدار دهی عادی اینه که کاربر دیگه نمیتونه با عقب و جلو کردن تاریخ سیستم دورش بزنه .
اگر فایل رو کد گذاری کنید و با مبدلهایی که وجود داره فایل رو exe کنید ، دیگه فایلتون خیلی سخت هک میشه و تعداد اجراشم توسط خودتون قابل کنترله .

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

misammisam
2015/02/10, 12:49
من این فایلو 5 بار امتحان کردم دیگه باز نمیکنه. حالا دریک فایل دیگه که این کدو مینویسم خطا میده و میگه بیشتر از 5 بار شده، چطوری میشه ازصفر استارتش بزنم؟
خوبيش اينه كه نشه بازش كرد :p
ولي چون شما نام متغيير رو ميدونيد ، سه تا راه داريد براي حل مشكل ، يا نام متغيير رو عوض كنيد ، مثلا اينجا الان متغيير ما n هست ميتونيد به m تغييرش بديد .
يا اگه ميخوايد از همون متغيير n استفاده كنيد ، ميتونيد ارزش عدديشو بياريد پايين ، تو قسمت

n = GetSetting("pass", "pass", "pass", 0) + 1
هر بار كه فايلو اجرا ميكنيد يك واحد به n اضافه ميكنه ، ميتونيد كل فرمول بالا رو بنويسيد و اين قسمت رو مثلا به

n = GetSetting("pass", "pass", "pass", 0) - 1
تبديل بكنيد ، و با هر بار اجرا يكواحد از مقدار n كم كنيد ( البته اون عدد ميتونه هر چي به غير از 1 هم باشه ، اون دست خودتونه )

يا ميتونيد مقدار if مقايسه رو افزايش بديد ، مثلا

If n > 5 Then
تبديل كنيد به

If n > 200 Then

exceliran
2015/02/12, 23:34
چطور میشه گفت هربار که فایل اکسل باز میکنیم فرضا بعد از 5 دقیقه بسته بشه فایل ؟؟؟

rasoolfa
2015/09/21, 22:09
سلام اما این کد به صورت اتوماتیک اجرا نمیشه به دلیل امنیت اکسل نمیگذاره اجرا بشه باید تایید کنی تا کد دستوری اجرا بشه راهی هست که اکسل پیغام امنیتی ندهد و برای بار پنجم فایل اکسل پاک بشه
با تشکر

rasoolfa
2015/09/21, 22:15
من ی فایل اکسل طراحی کردم که خیلی کارایی داره میخوام فقط خودم استفاده کنم . و بعد از من داخله ان کامپیوتر غیره استفاده و یا پاک بشه یا قفل بشه یا کله فرمول هاش پاک بشه در کل غیره استفاده بشه پون خیلی وقت گذاشتم برای درست کردنش ممنون میشم راهنماییم کنید با تشکر

rasoolfa
2015/10/01, 20:18
با سلام این کد خیلی جالبه اما حالا این موضوع پیش میاد اگر خود ما خواستیم این برنامه را بعد از اینکه برنامه فقل شد اجرا کنیم باید چیکار کنیم ممنون میشم با تشکر

misammisam
2015/10/01, 22:00
چطور میشه گفت هربار که فایل اکسل باز میکنیم فرضا بعد از 5 دقیقه بسته بشه فایل ؟؟؟
این کار خیلی راحتیه ، مخصوصا اگه نخواید به رجیستری ربطش بدید ، کافیه از تابع time استفاده کنید .


سلام اما این کد به صورت اتوماتیک اجرا نمیشه به دلیل امنیت اکسل نمیگذاره اجرا بشه باید تایید کنی تا کد دستوری اجرا بشه راهی هست که اکسل پیغام امنیتی ندهد و برای بار پنجم فایل اکسل پاک بشه
با تشکر
باید از برنامه هایی که فایل اکسل رو به exe تبدیل میکنن استفاده کنید ، در این صورت دیگر احتیاج به فعال سازی vb در فایل اکسل شما نیست.


من ی فایل اکسل طراحی کردم که خیلی کارایی داره میخوام فقط خودم استفاده کنم . و بعد از من داخله ان کامپیوتر غیره استفاده و یا پاک بشه یا قفل بشه یا کله فرمول هاش پاک بشه در کل غیره استفاده بشه پون خیلی وقت گذاشتم برای درست کردنش ممنون میشم راهنماییم کنید با تشکر
این پست در مورد همین موضوعیه که مطرح کردید ، فقط اگر بعد از قفل شدن میخواهید این فایل در هیچ کامپیوتر دیگری باز نشود ، میتوانید علاوه از متغیرهای گفته شده در بالا یک متغیر هم اضافه کنید که تو خود فایل سیو بشه ( یعنی به رجیستری کاری ندارید ) .


با سلام این کد خیلی جالبه اما حالا این موضوع پیش میاد اگر خود ما خواستیم این برنامه را بعد از اینکه برنامه فقل شد اجرا کنیم باید چیکار کنیم ممنون میشم با تشکر
تو پست شماره 3 همین موضوع توضیح داده شده .

mobinsaffarpour
2015/11/13, 19:39
سلام به اساتید ارجمند

پست بسیار جذابی هست مرسی که همچنین اطلاعاتی رو در اختیار سایرین هم قرار میدین . اما 4 سوال

1 - تعداد دفعات بازشدن فایل در کجای ریجستری ذخیره می شوند؟؟

2 - چطور میشه تاریخ انقضاء به فایل اضافه کرد؟

3 - چطور میشه بعد از قفل شدن این فایل توی هیچ کامپیوتری دیگه اجرا نشه؟

4 - آیا پس از انقضاء زمانی و اجرای بیش از 5 بار، راهی برای بازکردن فایل هست؟

لطفاً اگر امکان داره فایل رو تکمیل کنید. باتشکر

misammisam
2015/11/14, 22:46
سلام به اساتید ارجمند

پست بسیار جذابی هست مرسی که همچنین اطلاعاتی رو در اختیار سایرین هم قرار میدین . اما 4 سوال

1 - تعداد دفعات بازشدن فایل در کجای ریجستری ذخیره می شوند؟؟

2 - چطور میشه تاریخ انقضاء به فایل اضافه کرد؟

3 - چطور میشه بعد از قفل شدن این فایل توی هیچ کامپیوتری دیگه اجرا نشه؟

4 - آیا پس از انقضاء زمانی و اجرای بیش از 5 بار، راهی برای بازکردن فایل هست؟

لطفاً اگر امکان داره فایل رو تکمیل کنید. باتشکر

با سلام
1 - قبلا بهش فکر کرده بودم ولی به نتیجه ای نرسیدم
2 - این سوالتون مفهوم نیست ، چون خود سیستم تاریخ و زمان داره و احتیاجی به متغیر ندارید ، از تاریخ خود سیستم میتونید استفاده کنید .
3 - جواب این سوالم در بالا ذکر کردم خدمت دوستان : اگر بعد از قفل شدن میخواهید این فایل در هیچ کامپیوتر دیگری باز نشود ، میتوانید علاوه از متغیرهای گفته شده در بالا یک متغیر هم اضافه کنید که تو خود فایل سیو بشه ( یعنی به رجیستری کاری ندارید )
4 - هر قفلی بلاخره یه راهی داره که بازش کنید ، یه راهشو من در بالا ذکر کردم که چطور میتونید متغیر رو به صفر تبدیل کنید .
شما وقتی فایلتونو میخواید در اختیار کس دیگری قرار بدهید ، اینجور ترفندها فقط برای افرادی که دانش کمتری نسبت به کد نویسی در vb دارند میتواند کارساز باشد ، مطمعنم نصف بچه هایی که اینجا عضو هستن میتونن اینجور کدهارو دور بزنن .

درضمن برنامه LockXls تمام اینکارهایی رو که شما درخواست کردید رو انجام میده ، نسبتا امنیت بالاییم داره ، بهتره از این نرم افزار استفاده کنید .

azizi.mohsen
2016/12/02, 21:51
سلام به همه دوستان عزیز
در جواب دوست عزیزم در مورد مسیر ذخیره شدن شمارنده باید بگم فایل در رجیستری و در مسیر زیر ذخیره میشه و میشه از همین مسیر مقدار رو کاهش داد تا فایل دوباره باز بشه.
Regedit
HKEY_USERS
S-1-5-21-433977.....
Software
VB and VBA Program Settings
Pass
Pass

توی همین مسیر که برید روی Pass کلیک کنید و مقدار رو کم یا زیاد کنید

میثم مقدم نیا
2017/04/02, 11:28
سلام به اساتید ارجمند

پست بسیار جذابی هست مرسی که همچنین اطلاعاتی رو در اختیار سایرین هم قرار میدین . اما 4 سوال

1 - تعداد دفعات بازشدن فایل در کجای ریجستری ذخیره می شوند؟؟

2 - چطور میشه تاریخ انقضاء به فایل اضافه کرد؟

3 - چطور میشه بعد از قفل شدن این فایل توی هیچ کامپیوتری دیگه اجرا نشه؟

4 - آیا پس از انقضاء زمانی و اجرای بیش از 5 بار، راهی برای بازکردن فایل هست؟

لطفاً اگر امکان داره فایل رو تکمیل کنید. باتشکر

در جواب سوال یک این دوست عزیزم من یک فایل رجستری و مسیر ان را پیوست کردم