⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.bas

📁 ASProtect的2.4版
💻 BAS
字号:
#IF NOT %DEF(%WINAPI)
    #INCLUDE "WIN32API.INC"
#ENDIF
#INCLUDE "aspr_api.pb"
#INCLUDE "frmRegistration.bas"
#INCLUDE "PB.INC"

%IDD_frmMain            = 101
%IDC_btnBuy             = 1001
%IDC_btnRegistration    = 1002
%IDC_btnMainExit        = 1003
%IDC_lRegInfo           = 1004
%IDC_Label1             = 1005


GLOBAL hDlgMain AS DWORD

DECLARE CALLBACK FUNCTION ShowfrmMainProc()
DECLARE FUNCTION ShowfrmMain(BYVAL hParent AS DWORD) AS LONG
DECLARE SUB ProcessRegistration()

CALLBACK FUNCTION ShowfrmMainProc()

    SELECT CASE CBMSG
        CASE %WM_INITDIALOG
            MSGBOX "This example shows the work in Trial mode", %MB_ICONINFORMATION, "Information"
            ProcessRegistration
        CASE %WM_COMMAND
            SELECT CASE CBCTL
                CASE %IDC_Label1
                CASE %IDC_btnMainExit
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                        DIALOG END hDlgMain, 0
                    END IF
                CASE %IDC_btnRegistration
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                        ShowfrmRegistration hDlgMain
                        ProcessRegistration
                    END IF
                CASE %IDC_btnBuy
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                        CALL ShellExecute(GetDesktopWindow, "open", "http://www.aspack.com/register.htm", "", "", 1)
                    END IF

            END SELECT
    END SELECT

END FUNCTION

FUNCTION ShowfrmMain(BYVAL hParent AS DWORD) AS LONG
    LOCAL lRslt AS LONG
    LOCAL hFont1 AS DWORD

    DIALOG NEW hParent, "Trial Example for PowerBasic",,, 200, 131, _
        %WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _
        %WS_CLIPSIBLINGS OR %WS_CLIPCHILDREN OR %WS_VISIBLE OR %DS_MODALFRAME _
        OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_WINDOWEDGE OR _
        %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
        %WS_EX_RIGHTSCROLLBAR, TO hDlgMain
    CONTROL ADD LABEL, hDlgMain, %IDC_Label1, "Advanced Application 1.0", 37, 10, _
        129, 12
    CONTROL ADD BUTTON, hDlgMain, %IDC_btnMainExit, "Exit", 11, 108, 54, 16
    CONTROL ADD LABEL, hDlgMain, %IDC_lRegInfo, "Label2", 16, 30, 171, 69, %SS_CENTER
    CONTROL ADD BUTTON, hDlgMain, %IDC_btnRegistration, "Registration", 133, 108, _
        54, 16
    CONTROL ADD BUTTON, hDlgMain, %IDC_btnBuy, "Buy", 75, 108, 48, 16

    hFont1 = PBFormsMakeFont("Arial", 12, 700, %FALSE, %FALSE, %FALSE, 204)

    CONTROL SEND hDlgMain, %IDC_Label1, %WM_SETFONT, hFont1, 0


    DIALOG SHOW MODAL hDlgMain, CALL ShowfrmMainProc TO lRslt

    DeleteObject hFont1

    FUNCTION = lRslt
END FUNCTION

SUB ProcessRegistration()
DIM UserKey AS STRING
DIM UserName AS STRING

DIM ModeName AS STRING
DIM ModeStatus AS TModeStatus

DIM TrialDaysTotal AS LONG
DIM TrialDaysLeft AS LONG

DIM StR AS STRING

    CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, "TRIAL EXPIRED!"
    apiGetRegistrationInformation 0, UserKey, UserName

    ' Registered?

    IF LEN(UserKey) > 0 THEN

       ' If Yes, then get the registered user info so that it can be displayed.

       REG_CRYPT_BEGIN1

       apiGetModeInformation 0, ModeName, ModeStatus

       CONTROL DISABLE hDlgMain, %IDC_btnBuy

       DIM szModeName AS ASCIIZ PTR
       szModeName = STRPTR(ModeName)

       StR = "Registered version:"+ CHR$(13) + CHR$(10)+ _
       "Key: " + UserKey + CHR$(13) + CHR$(10)+ "Name: " + UserName + CHR$(13) + CHR$(10)+ _
       CHR$(13) + CHR$(10) + "Mode Name: " + @szModeName

       CONTROL SET TEXT hDlgMain, %IDC_lRegInfo,StR
       REG_CRYPT_END1

       IF ModeStatus.IsRegistered THEN
        StR = StR + CHR$(13) + CHR$(10)+ "Mode is REGISTERED!"
        CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, StR
       END IF

'      MSGBOX "Registered Action !", %MB_ICONINFORMATION, "Registration Info"

    ELSE
       ' If No, then check to see how many days left in the trial period.

       IF apiGetTrialDays(0, TrialDaysTotal, TrialDaysLeft) THEN

        IF TrialDaysLeft = 0 THEN
           CONTROL ENABLE hDlgMain, %IDC_btnBuy
           CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, "TRIAL EXPIRED!"
          ELSE
           CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, "UNREGISTERED VERSION" + CHR$(13) + CHR$(10) + CHR$(13) + CHR$(10) + "You have" + STR$(TrialDaysLeft) + " day(s) left !"
          END IF

       END IF

    END IF

END SUB

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -