نمونه شماره 6

عنوان پروژه:

اجرای مشروط به درستی کدفعالسازی، به همراه صدور کد فعالسازی آنلاین

پروژه 4 به مراه صدور کد فعالسازی

فهرست:

فایل پروژه

تنظیمات پروژه

توضیحات پروژه

مزایا معایب پروژه

توضیحات برنامه‌نویسی VBA


مسیر فایل پروژه در کامپیوتر شما پس از نصب نرم افزار accdbExe:

C:\accdbExe\Sample-Projects\Sample6

فایل‌های اصلی برنامه نویسی شده در Access در فولدر Contents قرار دارند.

فایل پروژه accdbExe در فولدر Project قرار دارد.

فایل‌های نهایی برای انتقال به کامپیوتر کاربر(مشتری) فولدر Output قرار دارند.

 

دانلود فایل‌ نهایی از اینترنت (پس از دانلود فایل، روی فایل exe راست کلیک کرده و گزینۀ run as administrator را انتخاب کنید.)


تنظیمات پروژه (پروژه به صورت زیر تنظیم شده است):

فایل دیتابیس حاوی دستورات به برنامه اجرایی(EXE)ضمیمه شود

    در مسیر فایل‌های موقت باز شود

    در مسیر فایل اجرایی باز شود

    در مسیر سفارشی باز شود:

ارسال پارامتر Command به بخش vba  هنگام اجرای نرم‌افزار

    پارامترهای وارد شده به فایل اجرایی

    شماره سریال سخت‌افزاری سیستم

    مسیر فایل اجرایی

    متن سفارشی:

تنظیمات رجیستری ویندوز برای اجرای راحتتر Microsoft Office Access

    تمامی گزینه‌های این بخش تیکدار شده‌اند.

عملکردهای قبل از اجرای Microsoft Office Access

    بررسی فعال بودن بخش فارسی (Persian) ویندوز در رایانه کاربر

    بررسی وجود (نصب) Microsoft Office Access و یا Access Runtime در کامپیوتر کاربر

    بستن سایر پنجره‌های Access قبل از اجرای نرم افزار EXE تولید شده

تزریق گذرواژه به پنجرۀ Password Required

    :Database Password

ارائه کدفعالسازی به مشتریان

    فایل در صورتی اجرا شود که کد فعالسازی درست به آن داده شود.


توضیحات پروژه

توضیحات پروژۀ 4 به این بخش نیز مرتبط است.

چون می‌خواستیم فایل VBA-DB ضمیمه شده به فایل EXE، درصورتی در مسیر فایل‌های موقت باز، و سپس اجرا شود که کد فعالسازی درست به آن داده شود، بنابراین در فایل پروژه Project6.prj، گزینه «فایل درصورتی اجرا شود که کد فعالسازی درست به آن داده شود.»، را تیکدار کرده‌ایم؛ لذا تا وقتی که کد فعالسازی درست به آن داده نشود، فایل دیتابیس VBA-DB در مسیر فایل های موقت ویندوز باز نخواهد شد.

 

یک بررسی تخصصی:

اهداف این بررسی تخصصی:

قبل از بررسی این پروژه لطفا پروژه شماره 4 را نیز بررسی کنید، سئوالاتی که در پروژه 4 مطرح هستند در این بررسی پاسخ داده نشده‌اند.

» پاسخ به این سئوال که آیا تا قبل از ورود کد فعالسازی درست فایل ضمیمه (دیتابیس vba-db)، در جایی از کامپیوتر باز میشود؟(خیر)

» پاسخ به این سئوال که آیا چگونه باید کد فعالسازی تولید شود؟

» پاسخ به این سئوال که آیا امکان صدور کد فعالسازی به صورت آنلاین برای مشتریان وجود دارد؟

» پاسخ به این سئوال که آیا کدفعالسازی می‌تواند برای پرژوۀ‌های مختلف یک برنامه‌نویس با هم متفاوت باشد؟

 

- فایل exe پروژه را اجرا کنید.

  پس از دانلود فایل‌ نهایی از اینترنت (پس از دانلود فایل، روی فایل exe راست کلیک کرده و گزینۀ run as administrator را انتخاب کنید.)

- به مسیر فایل های موقت کامپیوتر خود وارد شوید.

برای دستیابی به مسیر فایلهای موقت در My Computer، کلیدهای Ctrl+D را همزمان بزنید، تا نوار آدرس فعال شود، در نوار آدرس عبارت %temp% را تایپ کنید  و سپس کلید Enter را بزنید.

- همه فایل‌ها را در این بخش حذف کنید تا کمی خلوت‌تر شود.

- فایل exe پروژه را اجرا کنید.(دقت کنید کنار این فایل باید دوفایل activation.htm و script.js نیز باشد.)

- پنجرۀ زیر نمایش داده می شود:

-  به مسیر فایل‌های موقت باز گردید، در این بخش به نام accdr._ وجود ندارد.

تا قبل از ورود کد فعالسازی درست فایل ضمیمه (دیتابیس vba-db)، باز نمی‌شود.

- در بخش :Serial Number، شماره سریال CPU کامپیوتر شما(به عنوان کاربر نرم افزار-مشتری) نشان داده می‌شود.

برای دریافت کد فعالسازی، باید با تولید کننده نرم افزار ارتباط داشته باشید:

- کد سخت افزاری را به رایانه تولید کننده منتقل کرده و در محل مربوطه Paste کنید.

- دقت کنید کلیدKey کنونی که در حال تولید کد فعالسازی هستید با کلیدKey که هنگام تولید فایل EXE در محل مربوطه قرار داشت یکسان باشد.

- روی دکمه «صدور کد فعالسازی برای مشتری» کلیک کنید تا کد فعالسازی ویژه کاربر تولید شود.

- کدفعالسازی را به کاربر نرم افزار ارائه کنید،

- کاربر کدفعالسازی دریافت شده را در محل درج کد فعالسازی Paste ‌کند تا نرم افزار در کامپیوتر کاربر اجرا شود.

در ادامه بدون ارتباط با تولید کننده کدفعالسازی دریافت کنید.

- در بخش زردرنگ پایین پنجرۀ، لینکی مشاهده می‌شود.

- روی لینک کلیک کنید.

- به صفحه اینترنتی وارد می‌شوید که با برنامه‌نویسی به زبان php در حال صدور کد فعالسازی برای پروژه شماره 6 است.

- در این صفحه شماره سریال کامپیوتر شما نمایش داده شده است، و کد فعالسازی نیز نشان داده شده.

- می توانید کد فعالسازی را کپی کنید.

 امکان صدور کد فعالسازی به صورت آنلاین برای مشتریان وجود دارد.

در همین صفحه اینترنتی به آدرس:

http://accdbexe.tavafi.ir/ac-demo/?sample=6

می‌توانید شماره سریال سخت افزاری جدیدی وارد کنید، و کد فعالسازی جدید دریافت کنید.

امکان صدور کد فعالسازی پس از اتصال به درگاه پرداخت اینترنتی و صدور کد فعالسازی مشروط به پرداخت موفق وجود دارد.

- به پنجرۀ دریافت کد فعالسازی وارد شوید، کد فعالسازی را در بخش Activation Code، به کمک دکمۀ Paste، Paste کنید.

- گزینۀ «کدفعالسازی در کامپیوتر ذخیره شود » را در همین پنجره تیکدار کنید.

- روی دکمه Activation، کلیک کنید.

- از پنجره باز شده خارج شوید.

-  به مسیر فایل‌های موقت باز گردید.

- فایل به نام accdr._ قابل مشاهده است.

تا قبل از ورود کد فعالسازی درست فایل ضمیمه (دیتابیس vba-db)، باز نمی‌شود، پس از ارائه کدفعالسازی درست، فایل ضمیمه باز شده.


مزایا و معایب پروژه

مزایا

به لحاظ امنیتی در سطح بالایی قرار دارد.

معایب

  • تا وقتی که کدفعالسازی به نرم افزار داده نشود به هیج وجه فایل اجرا نمی شود و امکان اجرای دموی نرم افزار تولید شده (VBA-DB) وجود ندارد.

 


 

توضیحات برنامه نویسی در محیط VBA، نرم‌افزار Access

برنامه اکسس در این فایل نمونه دارای یک فرم به نام Login است که محتوی کد VBA آن ، به شرح زیر است:

Option Compare Database

Private Sub Command0_Click()
Application.Quit acQuitSaveNone
End Sub

Private Sub Command1_Click()
MsgBox "Message", , "message"
End Sub

Private Sub Form_Close()
'ShowWindow Access.hWndAccessApp, 5
Application.Quit acQuitSaveNone
End Sub

 

Private Sub Form_Load()
ShowWindow Access.hWndAccessApp, 0

Labelcommand.Caption = Command()
End Sub

 

همچنین یک Module دارد که محتوی کد VBA آن ، به شرح زیر است:

Option Compare Database
#If Win64 Then
Declare PtrSafe Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End IF