frmMain.bas
上传用户:graphite
上传日期:2020-09-09
资源大小:2587k
文件大小:4k
源码类别:

破解

开发平台:

Others

  1. #IF NOT %DEF(%WINAPI)
  2.     #INCLUDE "WIN32API.INC"
  3. #ENDIF
  4. #INCLUDE "aspr_api.pb"
  5. #INCLUDE "frmRegistration.bas"
  6. #INCLUDE "PB.INC"
  7. %IDD_frmMain            = 101
  8. %IDC_btnBuy             = 1001
  9. %IDC_btnRegistration    = 1002
  10. %IDC_btnMainExit        = 1003
  11. %IDC_lRegInfo           = 1004
  12. %IDC_Label1             = 1005
  13. GLOBAL hDlgMain AS DWORD
  14. DECLARE CALLBACK FUNCTION ShowfrmMainProc()
  15. DECLARE FUNCTION ShowfrmMain(BYVAL hParent AS DWORD) AS LONG
  16. DECLARE SUB ProcessRegistration()
  17. CALLBACK FUNCTION ShowfrmMainProc()
  18.     SELECT CASE CBMSG
  19.         CASE %WM_INITDIALOG
  20.             MSGBOX "This example shows the work in Trial mode", %MB_ICONINFORMATION, "Information"
  21.             ProcessRegistration
  22.         CASE %WM_COMMAND
  23.             SELECT CASE CBCTL
  24.                 CASE %IDC_Label1
  25.                 CASE %IDC_btnMainExit
  26.                     IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
  27.                         DIALOG END hDlgMain, 0
  28.                     END IF
  29.                 CASE %IDC_btnRegistration
  30.                     IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
  31.                         ShowfrmRegistration hDlgMain
  32.                         ProcessRegistration
  33.                     END IF
  34.                 CASE %IDC_btnBuy
  35.                     IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
  36.                         CALL ShellExecute(GetDesktopWindow, "open", "http://www.aspack.com/register.htm", "", "", 1)
  37.                     END IF
  38.             END SELECT
  39.     END SELECT
  40. END FUNCTION
  41. FUNCTION ShowfrmMain(BYVAL hParent AS DWORD) AS LONG
  42.     LOCAL lRslt AS LONG
  43.     LOCAL hFont1 AS DWORD
  44.     DIALOG NEW hParent, "Trial Example for PowerBasic",,, 200, 131, _
  45.         %WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR _
  46.         %WS_CLIPSIBLINGS OR %WS_CLIPCHILDREN OR %WS_VISIBLE OR %DS_MODALFRAME _
  47.         OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_WINDOWEDGE OR _
  48.         %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
  49.         %WS_EX_RIGHTSCROLLBAR, TO hDlgMain
  50.     CONTROL ADD LABEL, hDlgMain, %IDC_Label1, "Advanced Application 1.0", 37, 10, _
  51.         129, 12
  52.     CONTROL ADD BUTTON, hDlgMain, %IDC_btnMainExit, "Exit", 11, 108, 54, 16
  53.     CONTROL ADD LABEL, hDlgMain, %IDC_lRegInfo, "Label2", 16, 30, 171, 69, %SS_CENTER
  54.     CONTROL ADD BUTTON, hDlgMain, %IDC_btnRegistration, "Registration", 133, 108, _
  55.         54, 16
  56.     CONTROL ADD BUTTON, hDlgMain, %IDC_btnBuy, "Buy", 75, 108, 48, 16
  57.     hFont1 = PBFormsMakeFont("Arial", 12, 700, %FALSE, %FALSE, %FALSE, 204)
  58.     CONTROL SEND hDlgMain, %IDC_Label1, %WM_SETFONT, hFont1, 0
  59.     DIALOG SHOW MODAL hDlgMain, CALL ShowfrmMainProc TO lRslt
  60.     DeleteObject hFont1
  61.     FUNCTION = lRslt
  62. END FUNCTION
  63. SUB ProcessRegistration()
  64. DIM UserKey AS STRING
  65. DIM UserName AS STRING
  66. DIM ModeName AS STRING
  67. DIM ModeStatus AS TModeStatus
  68. DIM TrialDaysTotal AS LONG
  69. DIM TrialDaysLeft AS LONG
  70. DIM StR AS STRING
  71.     CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, "TRIAL EXPIRED!"
  72.     apiGetRegistrationInformation 0, UserKey, UserName
  73.     ' Registered?
  74.     IF LEN(UserKey) > 0 THEN
  75.        ' If Yes, then get the registered user info so that it can be displayed.
  76.        REG_CRYPT_BEGIN1
  77.        apiGetModeInformation 0, ModeName, ModeStatus
  78.        CONTROL DISABLE hDlgMain, %IDC_btnBuy
  79.        DIM szModeName AS ASCIIZ PTR
  80.        szModeName = STRPTR(ModeName)
  81.        StR = "Registered version:"+ CHR$(13) + CHR$(10)+ _
  82.        "Key: " + UserKey + CHR$(13) + CHR$(10)+ "Name: " + UserName + CHR$(13) + CHR$(10)+ _
  83.        CHR$(13) + CHR$(10) + "Mode Name: " + @szModeName
  84.        CONTROL SET TEXT hDlgMain, %IDC_lRegInfo,StR
  85.        REG_CRYPT_END1
  86.        IF ModeStatus.IsRegistered THEN
  87.         StR = StR + CHR$(13) + CHR$(10)+ "Mode is REGISTERED!"
  88.         CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, StR
  89.        END IF
  90. '      MSGBOX "Registered Action !", %MB_ICONINFORMATION, "Registration Info"
  91.     ELSE
  92.        ' If No, then check to see how many days left in the trial period.
  93.        IF apiGetTrialDays(0, TrialDaysTotal, TrialDaysLeft) THEN
  94.         IF TrialDaysLeft = 0 THEN
  95.            CONTROL ENABLE hDlgMain, %IDC_btnBuy
  96.            CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, "TRIAL EXPIRED!"
  97.           ELSE
  98.            CONTROL SET TEXT hDlgMain, %IDC_lRegInfo, "UNREGISTERED VERSION" + CHR$(13) + CHR$(10) + CHR$(13) + CHR$(10) + "You have" + STR$(TrialDaysLeft) + " day(s) left !"
  99.           END IF
  100.        END IF
  101.     END IF
  102. END SUB