uo_security3.sru 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. $PBExportHeader$uo_security3.sru
  2. forward
  3. global type uo_security3 from nonvisualobject
  4. end type
  5. end forward
  6. global type uo_security3 from nonvisualobject
  7. end type
  8. global uo_security3 uo_security3
  9. type prototypes
  10. //PRIVATE FUNCTION Long getcpuid() LIBRARY "getcpuid.dll"
  11. end prototypes
  12. type variables
  13. int ins_try_day=90 //使用时间
  14. string ins_computer_key
  15. string ins_msg
  16. OLEObject ins_ljr3Object
  17. public string ins_LastErrorMsg = ""
  18. public integer ins_ErrorFlag = 0
  19. private string ins_regcode = ""
  20. private date ins_LimitDate
  21. private string ins_version_id
  22. private string ins_mmkey
  23. end variables
  24. forward prototypes
  25. public function integer f_register (string arg_regcode)
  26. public function integer f_check ()
  27. public function string f_get_signkey ()
  28. public function integer uof_check ()
  29. public subroutine uof_init_mmkey (string arg_mmkey)
  30. public function string uof_getregcode ()
  31. private function long getvolumeid ()
  32. public function date uof_getlimitdate ()
  33. public function boolean uof_readdog ()
  34. public function integer uof_checkdog ()
  35. public subroutine uof_init_version_id (string arg_version_id)
  36. end prototypes
  37. public function integer f_register (string arg_regcode);
  38. Int rslt = 0
  39. rslt = ins_ljr3Object.f_register(arg_regcode,ins_mmkey, ins_version_id)
  40. IF rslt = 1 THEN
  41. ins_ErrorFlag = 0
  42. ELSE
  43. ins_ErrorFlag = 90 //注册失败
  44. ins_LastErrorMsg = "注册失败!"
  45. END IF
  46. RETURN rslt
  47. end function
  48. public function integer f_check ();//f_check
  49. //0 no
  50. //1- tryyes
  51. //2- allway yes
  52. //-1 error,需要注册
  53. Int rslt = 0
  54. String ls_regcode = ""
  55. Date ld_LimitDate
  56. String arg_msg
  57. Boolean lb_ReadDog = FALSE
  58. rslt = ins_ljr3Object.f_check(ins_version_id, ins_mmkey, ls_regcode, ld_LimitDate, arg_msg)
  59. ins_regcode = ins_ljr3Object.f_GetRegCode()
  60. ins_LimitDate = Date(ins_ljr3Object.f_getlimitdate())
  61. //string ls_ls
  62. //ls_ls = ins_ljr3Object.f_getlimitdate()
  63. //messagebox("限制时间",ls_ls)
  64. lb_ReadDog = ins_ljr3Object.ReadDog()
  65. IF rslt = 2 THEN //已注册
  66. sys_if_register = 1
  67. sys_if_network = 0
  68. sys_if_locker = 1
  69. ELSE
  70. sys_if_register = 0
  71. // sys_if_network =
  72. IF uof_readdog() THEN
  73. sys_if_locker = 1
  74. ELSE
  75. sys_if_locker = 0
  76. END IF
  77. END IF
  78. RETURN rslt
  79. end function
  80. public function string f_get_signkey ();string ls_str
  81. //ins_ljr3Object.getvolumeid(getvolumeid())
  82. return ins_ljr3Object.f_get_signkey(ins_version_id)
  83. end function
  84. public function integer uof_check ();//f_check
  85. //0 no
  86. //2-allway yes 1- tryyes
  87. //-1 error
  88. Int rslt = 0
  89. String ls_signkey = ''
  90. ls_signkey = f_get_signkey()
  91. rslt = f_check( )
  92. //IF rslt = 1 THEN //try
  93. // IF rslt = 1 THEN ins_regcode = ''
  94. //ELSEIF rslt = 2 THEN //reg ok
  95. // sys_if_register = 1
  96. //ELSEIF rslt = -1 THEN //need reg
  97. //
  98. //END IF
  99. if rslt = 2 then
  100. sys_if_register = 1
  101. else
  102. sys_if_register = 0
  103. end if
  104. RETURN rslt
  105. end function
  106. public subroutine uof_init_mmkey (string arg_mmkey);//ins_version_id = arg_system_id
  107. ins_mmkey = arg_mmkey
  108. end subroutine
  109. public function string uof_getregcode ();return ins_regcode
  110. end function
  111. private function long getvolumeid ();//RETURN Abs(getcpuid())
  112. RETURN Abs(23393986)
  113. end function
  114. public function date uof_getlimitdate ();return ins_LimitDate
  115. end function
  116. public function boolean uof_readdog ();return ins_ljr3Object.ReadDog()
  117. end function
  118. public function integer uof_checkdog ();return ins_ljr3Object.ReadDog()
  119. end function
  120. public subroutine uof_init_version_id (string arg_version_id);ins_version_id = arg_version_id
  121. //ins_mmkey = arg_mmkey
  122. end subroutine
  123. event constructor;long ll_status
  124. ins_ljr3Object = CREATE OLEObject
  125. ll_status = ins_ljr3Object.ConnectToNewObject("EwiserpReg.ljr")
  126. IF ll_status < 0 THEN
  127. CHOOSE CASE ll_status
  128. CASE -1
  129. ins_LastErrorMsg = "Invalid Call: the argument is the Object property of a control"
  130. CASE -2
  131. ins_LastErrorMsg = "Class name not found"
  132. CASE -3
  133. ins_LastErrorMsg = "Object could not be created"
  134. CASE -4
  135. ins_LastErrorMsg = "Could not connect to object"
  136. CASE -9
  137. ins_LastErrorMsg = "Other error"
  138. CASE -15
  139. ins_LastErrorMsg = "MTS is not loaded on this computer"
  140. CASE -16
  141. ins_LastErrorMsg = "Invalid Call: this function not applicable"
  142. END CHOOSE
  143. ins_ErrorFlag = ll_status
  144. else
  145. ins_ErrorFlag = 0
  146. END IF
  147. end event
  148. event destructor;DESTROY ins_ljr3Object
  149. end event
  150. on uo_security3.create
  151. call super::create
  152. TriggerEvent( this, "constructor" )
  153. end on
  154. on uo_security3.destroy
  155. TriggerEvent( this, "destructor" )
  156. call super::destroy
  157. end on