kennedy22384 Posted April 24, 2009 Posted April 24, 2009 Have you got to the PayPal part yet?$D_PayPal = "www.paypal.com/my account-link to paypal" ; - paypal linkget the actual link from your paypal account.8)I have been able to sort it all out and now my program is in full swing. I tested it out myself and it works. Great job guys!
XTensionX Posted June 11, 2009 Posted June 11, 2009 (edited) i dont quite understand how to get this to work any tutorial? lol i know its a stupid request...but thanks if there is one EDIT: those it really require window xp? Edited June 11, 2009 by XTensionX
Valuater Posted June 11, 2009 Author Posted June 11, 2009 i dont quite understand how to get this to work any tutorial? loli know its a stupid request...but thanks if there is one EDIT: those it really require window xp?There is no tutorial other than the first few pages and some scattered throughout the thread.However, I think the first page is quit explicit.I personally have never tested this on Vista, but it should work fine as Admin.please let me know how it does... 8)
XTensionX Posted June 11, 2009 Posted June 11, 2009 i tried using the demo to see how it works.. but i keep getting the error - Not a Valid Program Name #1 here is my script expandcollapse popup#include<XProTec.au3>; MUST BE AN INCLUDE $D_Mail = "developer@msn.com "; your email $D_Program = "test1"; your program name $U_Price = "20.00"; the amount of money you wish to be payed by the user $U_Trial = "30"; amount of days for the trial period $U_License = "3"; 3 = one computer only - see license notes $D_License = "1"; developers license # $D_PayPal = "www.paypal.com/my account-link to paypal"; - paypal link $D_Link = "www.mywebsite.com/.../"; looks for "www.mywebsite.com/.../Blacklist.txt"; see Blacklist $U_Return = 1; pay or quit .... or $U_Return = 0; will return control to developer with @extended = 6 [Limited Freeware Option] XProTec($D_Mail, $D_Program, $U_Price, $U_Trial, $U_License, $D_License, $D_PayPal, $D_Link, $U_Return) ; your script starts here .............. $answer = MsgBox(4, "Hello!!!", "This is an messageboxcreated by FATCAT!. Run?") If $answer = 7 Then MsgBox(4096, "Hello!!!!!!", "OK. Bye!") Exit EndIf $bLoop = 1 While $bLoop = 1 $text = InputBox("Hello!!", "Please type in ""p"" and click OK to continue") If @error = 1 Then MsgBox(4096, "Error", "You pressed 'Cancel' - try again!") Else If $text <> "p" Then MsgBox(4096, "Error", "You typed in the wrong thing - try again!") Else $bLoop = 0 EndIf EndIf WEnd
Valuater Posted June 11, 2009 Author Posted June 11, 2009 "test1" is the name of the Program so IT MUST BE "test1.exe" or it will fail $D_Program <> StringTrimRight(@ScriptName, 4) Then mError("ERROR - Not a Valid Program Name ", 1, 1) ....NOTE: this is protection to keep the user from re-naming the program and using it! 8)
Valuater Posted June 11, 2009 Author Posted June 11, 2009 I can clearly see just where I went wrong with this XProTec program, I should have made it into separate modules/Functions. I did this last year XProTec-Lite expandcollapse popup#cs =============================================================================== *XProTecLite - Free Version Lite f1.0.0 - 05.25.2008 Autor: Robert M @ QT Appraisal E-mail: Valuater@aol.com Language: English OSystem: Windows Xp Features: -Automated Program - Generates and Sends User a Password by Email Construction: Windows Xp, AutoIt 3.2.12.0+, SciTE 1.76 Thanks to all, Enjoy... #ce =============================================================================== #include-once #include <String.au3> #include <INet.au3> Global $smtpserver = "YOUR_SERVER" Global $sendusername = "YOUR_SERVER_USER_NAME" Global $sendpassword = "YOUR_SERVER_USERS_PASSWORD" ; Info for this function by JdeB = http://www.autoitscript.com/forum/index.php?s=&showtopic=23860&view=findpost&p=166575 Func XProTecLite($D_Mail, $D_Program) Local $M_server = "@ClickTask.com", $encrypt = "FudgePacker", $ver = "Lite f1.0.0" If StringInStr(@ScriptName, "XProTec") Then Return mError("Not a Valid Developer Program ", 1, 1) If $D_Program <> StringTrimRight(@ScriptName, 4) Then mError("ERROR - Not a Valid Program Name ", 2, 1) If Not StringInStr($D_Mail, "@") And Not StringInStr($D_Mail, ".") Then Return mError("Not a Valid Developer Email ", 3, 1) $X_read001 = RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $D_Program, "001") $X_read002 = RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $D_Program, "002") $X_read003 = RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $D_Program, "003") If $X_read001 = "" Or $X_read002 = "" Or $X_read003 = "" Then If MsgBox(262209, $D_Program, "To Receive Your Password, an Email will be sent Immediately to you " & @CRLF & @CRLF & "Please Click OK to continue " & @CRLF) <> 1 Then Exit Do $U_Mail = Qbox($D_Program, "Please Type in your Email Address " & @CRLF & @CRLF & "If not, you will need to restart - " & $D_Program & " ") Until StringInStr($U_Mail, "@") And StringInStr($U_Mail, ".") While 1 If Ping("www.Autoit3.com", 4000) > 0 Then ExitLoop If MsgBox(262149, "Connection Error", "An Internet Connection is Required to Receive Your Password ", 10) = 2 Then Exit WEnd Local $R_owner = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner") Local $rand = Chr(Random(Asc("A"), Asc("Z"), 1)) & Random(100, 999, 1) & Chr(Random(Asc("A"), Asc("Z"), 1)) & Random(100, 999, 1) Local $text = "Please copy and *SAVE* your Password below" & @CRLF & @CRLF & "Owner = " & $R_owner & @CRLF & "Program = " & $D_Program & @CRLF & _ "Validation Date = " & @MON & "-" & @MDAY & "-" & @YEAR & @CRLF & "Your Password = " & $rand & @CRLF & @CRLF & " Thank You!" & @CRLF & $D_Program mEmailer($D_Program & $M_server, $U_Mail, $D_Mail, $D_Program & " Validation Code", $text) Do $input1 = Qbox($D_Program, "Please Type or Paste Your Emailed Password here " & @CRLF & "If not, you will need to restart - " & $D_Program & " ") Until $input1 == $rand RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $D_Program, "001", "REG_SZ", $D_Mail) RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $D_Program, "002", "REG_SZ", _StringEncrypt(1, $rand, $encrypt & "7")) RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $D_Program, "003", "REG_SZ", $U_Mail) mError("Password Accepted, Please *SAVE* your Password for - " & $D_Program & " ", $rand) Return SetError(0, 1, "Password Accepted") Else If $X_read001 <> $D_Mail Then mError("Not the Registered Developer Email ", 4, 1) $X_read002 = _StringEncrypt(0, $X_read002, $encrypt & "7") EndIf While 1 $input2 = InputBox($D_Program, " Please Type in Your Password:", "", "*", 200, 120) If @error = 1 Then Exit If $input2 == $X_read002 Then Return SetError(0, 1, "Password Accepted") If $input2 == "Me Dummy, You Fix" Then RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $D_Program, "001", "REG_SZ", "") mError("Fix Accepted, Please Re-Start - " & $D_Program & " ", 5, 1) EndIf mError("Password Not Accepted, Please try Again.......... " & @CRLF & "or Contact the Developer at " & $D_Mail & " ", 6, 0) WEnd EndFunc ;==>XProTecLite Func mEmailer($e_Sender, $e_Recipient, $e_CcAddress, $e_Subject, $e_Text) ; Info for this function by JdeB = http://www.autoitscript.com/forum/index.php?s=&showtopic=23860&view=findpost&p=166575 $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") $objMessage = ObjCreate("CDO.Message") With $objMessage .Subject = $e_Subject .Sender = $e_Sender .From = $e_Sender .To = $e_Recipient .Cc = $e_CcAddress .TextBody = $e_Text EndWith With $objMessage.Configuration.Fields .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $smtpserver .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $sendusername .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $sendpassword .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Update EndWith $objMessage.Send If @error Then MyErrFunc() $oMyError = "" $objMessage = "" EndFunc ;==>mEmailer Func Qbox($t1, $L1) $Qbox = InputBox($t1, $L1, "", "", 300, 150) If @error = 1 Then Exit Return $Qbox EndFunc ;==>Qbox Func mError($sText, $ret = 0, $iFatal = 0) MsgBox(48 + 4096 + 262144, "*XProTec*", $sText & " #" & $ret & " ") If $iFatal Then Exit EndFunc ;==>mError Func MyErrFunc() MsgBox(262209, "COM / Internal Error", "This Program has been interupted by a Fatal COM Error ") Exit EndFunc ;==>MyErrFunc 8)
XTensionX Posted June 11, 2009 Posted June 11, 2009 thanks valuater for helping me out so much.. i got 1 more question..where should my script go? do i add my script under the XProTec script or in another .exe with #include and what do i do in the Global $smtpserver = "YOUR_SERVER" Global $sendusername = "YOUR_SERVER_USER_NAME" Global $sendpassword = "YOUR_SERVER_USERS_PASSWORD" i think thats all i need to know now.. hope im not asking for too much ^^ btw for #include-once #include <String.au3> #include <INet.au3> do i leave this as it is?
Valuater Posted June 11, 2009 Author Posted June 11, 2009 (edited) 1You need to get these on your own.. from YOUR SERVERGlobal $smtpserver = "YOUR_SERVER"Global $sendusername = "YOUR_SERVER_USER_NAME"Global $sendpassword = "YOUR_SERVER_USERS_PASSWORD"2You can remove #include <INet.au3>3 where should my script go?I can't believe you asked that, put it where you did above ; your script starts here ..............( XProTec.au3 is an Include and goes at the top)4PLEASE REMOVE MY CODE ABOVEThat is a very long post of MY WORK, not yours, you did not change anythingplease remove it8) Edited June 11, 2009 by Valuater
XTensionX Posted June 11, 2009 Posted June 11, 2009 ok i think you covered everything i needed to know now =] i will now try to get it to work thanks alot i hope it works now
Hypertrophy Posted July 6, 2009 Posted July 6, 2009 I'm very confused. Is XProTec free? I downloaded "XProTec Free" and in the .au3 file it says: #include<XProTec.au3> ; MUST BE AN INCLUDE I don't understand how everything works?...
Valuater Posted July 6, 2009 Author Posted July 6, 2009 #1 XProTec.au3 is free. #2 it must be used as an include just like GUIConstantsEX.au3 is used #3 You need to fill out the name, license, time, etc, etc #include<XProTec.au3> ; MUST BE AN INCLUDE $D_Mail = "developer@msn.com " ; your email $D_Program = "My_Program_Name" ; your program name $U_Price = "20.00" ; the amount of money you wish to be payed by the user $U_Trial = "30" ; amount of days for the trial period $U_License = "3" ; 3 = one computer only - see license notes $D_License = "123456789" ; developers license # $D_PayPal = "www.paypal.com/my account-link to paypal" ; - paypal link $D_Link = "www.mywebsite.com/.../" ; looks for "www.mywebsite.com/.../Blacklist.txt" ; see Blacklist $U_Return = 1 ; pay or quit .... or $U_Return = 0 ; will return control to developer with @extended = 6 [Limited Freeware Option] XProTec($D_Mail, $D_Program, $U_Price, $U_Trial, $U_License, $D_License, $D_PayPal, $D_Link, $U_Return) #4 You must read a little to understand how to use this!! 8)
Hypertrophy Posted July 6, 2009 Posted July 6, 2009 (edited) If XProTec.au3 must be an include then whats the point of the function Func XProTec($D_Mail, $D_Program, $U_Price = 0, $U_Trial = 0, $U_License = 1, $D_License = 1, $D_PayPal = 1, $D_Link = 1, $U_Return = 1) If @Compiled <> 1 and $D_License <> 1 Then Return SetError(1, -1, "Not a Compiled Program")... in the XProTec-Free.au3 file I downloaded? And how can I test to see when it expires? and does the script below have to be compiled? Here's everything I have: #cs =============================================================================== *XProTec - Free Version f1.0.0 - 04.09.2007 Autor: Robert M @ QT Appraisal E-mail: Valuater@aol.com Language: English OSystem: Windows Xp Features: -Automated Program -Register Users -Receive Payment -Program Protection Requirements: Legal copy of Microsoft Windows Xp Construction: AutoIt 3.2.2.0+, SciTE 1.73 Thanks to all, Enjoy... #ce =============================================================================== #include<XProTec.au3>; MUST BE AN INCLUDE $D_Mail = "myemail@gmail.com"; your email $D_Program = "Test1"; your program name $U_Price = "30.00"; the amount of money you wish to be payed by the user $U_Trial = "15"; amount of days for the trial period $U_License = "3"; 3 = one computer only - see license notes $D_License = "1"; developers license # $D_PayPal = "www.paypal.com/my account-link to paypal"; - paypal link $D_Link = "www.mywebsite.com/.../"; looks for "www.mywebsite.com/.../Blacklist.txt"; see Blacklist $U_Return = 1; pay or quit .... or $U_Return = 0; will return control to developer with @extended = 6 [Limited Freeware Option] XProTec($D_Mail, $D_Program, $U_Price, $U_Trial, $U_License, $D_License, $D_PayPal, $D_Link, $U_Return) ; my script starts here and that is it. nothing else after Edited July 6, 2009 by Hypertrophy
Valuater Posted July 6, 2009 Author Posted July 6, 2009 I am truly lost... you have 111 posts and don't understand the concept that an include may have UDF's inside ( functions ) Have you ever used _FileListToArray() it's in an include... hundreds of UDF's are in includes and for this... "Here's everything I have:" No, That's everything I have... you need to fill in the time ex.. $U_Trial = "30" That means the trial period is 30 days you need to try and understand what is right in front of you 8)
Hypertrophy Posted July 11, 2009 Posted July 11, 2009 I keep getting a Line-1 error after I type in my email address? expandcollapse popup$D_Mail = "email@email.com " ; your email $D_Program = "Test1" ; your program name $U_Price = "35.00" ; the amount of money you wish to be payed by the user $U_Trial = "0" ; amount of days for the trial period $U_License = "3" ; 3 = one computer only - see license notes $D_License = "BD2BC61F6A9548EB";EA4DB75857F90C08" ; developers license # $D_PayPal = "whatever" ; - paypal link $D_Link = "www.mywebsite.com/.../" ; looks for "www.mywebsite.com/.../Blacklist.txt" ; see Blacklist $U_Return = 1 ; pay or quit .... or $U_Return = 0 ; will return control to developer with @extended = 6 [Limited Freeware Option] XProTec($D_Mail, $D_Program, $U_Price, $U_Trial, $U_License, $D_License, $D_PayPal, $D_Link, $U_Return) #include <GuiConstantsEx.au3> #include <GuiEdit.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> #include <Constants.au3> #include <GUIMENU.au3> ; my script ;;;;; Func XProTec($D_Mail, $D_Program, $U_Price = 0, $U_Trial = 0, $U_License = 1, $D_License = 1, $D_PayPal = 1, $D_Link = 1, $U_Return = 1) If @Compiled <> 1 and $D_License <> 1 Then Return SetError(1, -1, "Not a Compiled Program") If $D_Program <> StringTrimRight(@ScriptName, 4) Then mError("ERROR - Not a Valid Program Name ", 1, 1) Local $i_rand, $U_info, $Vreg, $U_Payed, $rtemp = @TempDir & "\XTemp.txt", $M_server = "@ClickTask.com", $ND_Mail = $D_Mail, $encrypt = "Fudge", $ver = "f1.0.0" Local $P_program = $D_Program, $sC = @ComputerName, $sD = @HomeDrive, $R_owner = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner"), $sS = @ScriptName Local $D_1 = _StringEncryptor(1, $D_Mail, $encrypt), $D_2 = _StringEncryptor(1, "X" & (StringInStr($D_Mail, "@") * (StringLen($D_Mail) - 2)) + ((StringLen($D_Mail) - 2) * 7) , (StringLen($D_1) - 9)) Local $rand = Chr(Random(Asc("A"), Asc("Z"), 1)) & Random(100, 999, 1) & "-" & Chr(Random(Asc("A"), Asc("Z"), 1)) & Random(100, 999, 1) & "-" & Chr(Random(Asc("A"), Asc("Z"), 1)) & Random(100, 999, 1) & "-" & Chr(Random(Asc("A"), Asc("Z"), 1)) & Random(100, 999, 1) Local $P_3 = StringMid( _StringEncryptor(1, "X" & (StringLeft(DriveGetSerial($sD), 6) + StringLen($sC)) & StringLen($sC), $encrypt & "n", 2), StringLen($sC) / 2, 16), $F_days = 0, $F_file = @SystemDir & "\winopsys.dat" If StringInStr($sS, "XProTec") Then Return mError("Not a Valid Developer Program ", 2, 1) If Not StringInStr($D_Mail, "@") And Not StringInStr($D_Mail, ".") Then Return mError("Not a Valid Developer Email ", 3, 1) If $U_License <> 1 And $U_License <> 2 And $U_License <> 3 Then Return mError("Not a Valid User License Number (1,2 or 3) ", 4, 1) If $D_License <> $D_2 Then mError("Please Register as Developer" & @CRLF & @CRLF & "Dev Email = " & $D_Mail & " " & @CRLF & "Dev License = " & $D_2 & " " & @CRLF & @CRLF, " Free # ...Valuater", 1) While 1 If Ping("www.Autoit3.com", 4000) > 0 Then ExitLoop If MsgBox(262149, "Connection Error", "An Internet Connection is Required ", 10) = 2 Then Exit WEnd $X_read001 = RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "001") $X_read004 = RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "004") If $X_read001 = "" And $X_read004 = "" Then If MsgBox(262209, $P_program, "To Register as User, an Email will be sent Immediately to you " & @CRLF & @CRLF & "Please Click OK to continue " & @CRLF) <> 1 Then Exit Do $U_Mail = Qbox($P_program, "Please Type in your Email Address " & @CRLF & @CRLF & "If not, you will need to restart - " & $P_program & " ") Until StringInStr($U_Mail, "@") And StringInStr($U_Mail, ".") $text = "Please copy the Validation Code below" & @CRLF & @CRLF & "Owner = " & $R_owner & @CRLF & "Program = " & $P_program & @CRLF & _ "Validation Date = " & _DateTimeFormat( _NowCalc(), 1) & @CRLF & "Validation Code = " & $rand & @CRLF & @CRLF & " Thank You!" & @CRLF & $P_program mEmailer($P_program & $M_server, $U_Mail, $ND_Mail, $P_program & " Validation Code", $text) Do $input1 = Qbox($P_program, "Please Copy and Paste the Validation Code from the Email here " & @CRLF & "If not, you will need to restart - " & $P_program & " ") Until $input1 = $rand Local $X_read003 = $U_Mail, $X_read004 = _NowCalc(), $X_read005 = "", $X_read006 = "", $X_read007 = "" IniWrite($F_file, "Security", $P_program, _StringEncryptor(1, _NowCalc() , (StringLen($D_1) - 13))) RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "001", "REG_SZ", $D_Mail) If $D_License <> $D_2 Then RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "002", "REG_SZ", "Developer Not Licensed") If $D_License = $D_2 Then RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "002", "REG_SZ", "Licensed Developer") RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "003", "REG_SZ", $U_Mail) RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "004", "REG_SZ", _StringEncryptor(1, _NowCalc() , (StringLen($D_1) - 13))) RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "005", "REG_SZ", "") RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "006", "REG_SZ", "") RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "007", "REG_SZ", "") Else If $X_read001 <> $D_Mail Then mError("Not the Registered Developer Email ", 5, 1) If $D_License <> $D_2 Then RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "002", "REG_SZ", "Developer Not Licensed") If $D_License = $D_2 Then RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "002", "REG_SZ", "Licensed Developer") $X_read003 = RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "003") $X_read004 = _StringEncryptor(0, RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "004") , (StringLen($D_1) - 13)) $X_read005 = _StringEncryptor(0, RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "005"), $encrypt & "7") $X_read006 = _StringEncryptor(0, RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "006"), $encrypt & "2") $X_read007 = RegRead("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "007") EndIf If InetGet($D_Link & "Blacklist.txt", $rtemp, 1) = 1 Then $itemp = FileRead($rtemp) FileDelete($rtemp) If StringInStr($itemp, $X_read003) Or StringInStr($itemp, $ND_Mail) Then mError("This program has been abused and will now close ", 6, 1) EndIf If $U_Trial = 0 And $U_Price = 0 Then Return SetError(0, 0, "Free Licensed") If $U_License = 1 And $X_read005 = $X_read003 Then Return SetError(0, 1, "Email Licensed") If $U_License = 2 And $X_read006 = $R_owner Then Return SetError(0, 2, "Owner Licensed") If $U_License = 3 And $X_read007 = $P_3 Then Return SetError(0, 3, "Computer Licensed") If $U_License = 1 Then $U_info = "Your E-Mail " If $U_License = 1 Then $i_rand = _StringEncryptor(1, $X_read003, $encrypt & "7") If $U_License = 2 Then $U_info = "Windows Registered Owner " If $U_License = 2 Then $i_rand = _StringEncryptor(1, $R_owner, $encrypt & "2") If $U_License = 3 Then $U_info = "One Computer Only " If $U_License = 3 Then $i_rand = $P_3 $T_days = _DateDiff("D", $X_read004, _NowCalc()) $t = FileGetTime(_StringEncryptor(0, IniRead($F_file, "Security", $P_program, _NowCalc()) , (StringLen($D_1) - 13))) If Not @error Then $F_days = _DateDiff("D", $t[0] & "/" & $t[1] & "/" & $t[2], _NowCalc()) If $F_days > $T_days Then $T_days = $F_days If $T_days < 0 Or $T_days > 3600 Then mError("ERROR - Validation Date ", 7, 1) If $D_License <> $D_2 And $T_days > 90 Then mError("Developer Trial Period has Expired ", 9, 1) If $U_Trial <> 0 And $U_Price = 0 And $T_days > $U_Trial Then mError($P_program & "'s Trial Period has Expired ", 8, 1) If $U_Trial <> 0 And $T_days > ($U_Trial / 2) And $T_days <= $U_Trial Then $U_Payed = mRegister($P_program, $U_Price, $U_Trial, $U_License, $T_days, $D_PayPal, $U_info, $i_rand, 0) If $U_Trial = 0 And $U_Price <> 0 Or $T_days > $U_Trial Then $U_Payed = mRegister($P_program, $U_Price, $U_Trial, $U_License, $T_days, $D_PayPal, $U_info, $i_rand, $U_Return) If $U_Payed = 1 And $U_License >= 1 And $U_License <= 3 Then RegWrite("HKCU\Software\Microsoft\Windows\Current Version\Settings\ClickTask.com\X-" & $P_program, "00" & ($U_License + 4), "REG_SZ", $i_rand) If $U_Payed = 1 Then $text = "Please save this Registration Code Page" & @CRLF & @CRLF & "Owner = " & $R_owner & @CRLF & "Program = " & $P_program & @CRLF & _ "Registration Date = " & _DateTimeFormat( _NowCalc(), 1) & @CRLF & "Registration Code = " & $i_rand & @CRLF & @CRLF & " Thank You!" & @CRLF & $P_program If $U_Payed = 1 Then mEmailer($P_program & $M_server, $X_read003, $ND_Mail, $P_program & " Registration Code", $text) If $U_Payed = 1 Then MsgBox(64, $P_program, " You are now registered and a confirmation email has been sent to you " & @CRLF & @CRLF & "..... Thank You ! ", 5) If $U_Payed = 1 Then Return SetError(0, 4, "License Paid") If $U_Trial = 0 And $U_Price <> 0 Or $T_days > $U_Trial Then Return SetError(0, 6, "Freeware Limited") Return SetError(0, 5, "License Not Paid") EndFunc ;==>XProTec Func mRegister($Prog, $U_P, $U_T, $U_L, $T_D, $D_P, $Uinfo, $irand, $rFatal = 0) Local $PR1 = "Trial Period = " & $U_T & " Days " & @CRLF & "License Type = " & $Uinfo & @CRLF & "Register Fee = $" & $U_P Local $PR2 = " " & @CRLF & "Days Since Validation = " & $T_D & @CRLF & @CRLF & "Would you like to Register Now? " & @CRLF & @CRLF Local $PR3 = "*Yes* to Register Now!" & @CRLF & "*No* to use your previous Registration Number. " & @CRLF & "*Cancel* to Quit Registration." & @CRLF $U_ans = MsgBox(262147, $Prog, $PR1 & $PR2 & $PR3) If $U_ans = 6 Then WinMinimizeAll() $PID = Run('C:\Program Files\Internet Explorer\iexplore.exe "' & $D_P & '"', "", @SW_SHOW) WinWaitActive("") Local $Handle = WinGetHandle($PID), $sHTML = "", $loop = 0 While ProcessExists($PID) Sleep(3000) If ProcessExists($PID) = 0 Then ExitLoop If Not StringInStr(WinGetTitle($Handle), "PayPal") And Not StringInStr(WinGetTitle($Handle), "DreamHost") Then If $loop = 5 Then ExitLoop $loop = $loop + 1 Else $loop = 0 EndIf If StringInStr(WinGetTitle($Handle), "Thank you for your payment") Then Return 1 WEnd ProcessClose($PID) EndIf If $U_ans = 7 Then Do $input1 = Qbox($Prog, "Please Paste your Registration Code below " & @CRLF & "License Type = " & $Uinfo & " " & @CRLF & "If not, you will need to restart - " & $Prog & " ") Until $input1 = $irand Return 1 EndIf If $rFatal Then Exit Return 0 EndFunc ;==>mRegister Func mEmailer($e_Sender, $e_Recipient, $e_CcAddress, $e_Subject, $e_Text) ; Info for this function by JdeB = http://www.autoitscript.com/forum/index.php?s=&showtopic=23860&view=findpost&p=166575 $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") $objMessage = ObjCreate("CDO.Message") With $objMessage .Subject = $e_Subject .Sender = $e_Sender .From = $e_Sender .To = $e_Recipient .Cc = $e_CcAddress .TextBody = $e_Text EndWith With $objMessage.Configuration.Fields .Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $smtpserver .Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $sendusername .Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $sendpassword .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Update EndWith $objMessage.Send If @error Then MyErrFunc() $oMyError = "" $objMessage = "" EndFunc ;==>mEmailer Func Qbox($t1, $L1) $Qbox = InputBox($t1, $L1, "", "", 300, 150) If @error = 1 Then Exit Return $Qbox EndFunc ;==>Qbox Func mError($sText, $ret = 0, $iFatal = 0) MsgBox(48 + 4096 + 262144, "*XProTec*", $sText & " #" & $ret & " ") If $iFatal Then Exit EndFunc ;==>mError Func MyErrFunc() MsgBox(262209, "COM / Internal Error", "This Program has been interupted by a Fatal COM Error ") Exit EndFunc ;==>MyErrFunc Func _INetGetSources($s_URL, $s_Header = '') If StringLeft($s_URL, 7) <> 'http://' And StringLeft($s_URL, 8) <> 'https://' Then $s_URL = 'http://' & $s_URL Local $h_DLL = DllOpen("wininet.dll"), $ai_IRF, $s_Buf = '' Local $ai_IO = DllCall($h_DLL, 'int', 'InternetOpen', 'str', "AutoIt v3", 'int', 0, 'int', 0, 'int', 0, 'int', 0) If @error Or $ai_IO[0] = 0 Then DllClose($h_DLL) SetError(1) Return "" EndIf Local $ai_IOU = DllCall($h_DLL, 'int', 'InternetOpenUrl', 'int', $ai_IO[0], 'str', $s_URL, 'str', $s_Header, 'int', StringLen($s_Header), 'int', 0x80000000, 'int', 0) If @error Or $ai_IOU[0] = 0 Then DllCall($h_DLL, 'int', 'InternetCloseHandle', 'int', $ai_IO[0]) DllClose($h_DLL) SetError(1) Return "" EndIf Local $v_Struct = DllStructCreate('udword') DllStructSetData($v_Struct, 1, 1) While DllStructGetData($v_Struct, 1) <> 0 $ai_IRF = DllCall($h_DLL, 'int', 'InternetReadFile', 'int', $ai_IOU[0], 'str', '', 'int', 256, 'ptr', DllStructGetPtr($v_Struct)) $s_Buf &= StringLeft($ai_IRF[2], DllStructGetData($v_Struct, 1)) WEnd DllCall($h_DLL, 'int', 'InternetCloseHandle', 'int', $ai_IOU[0]) DllCall($h_DLL, 'int', 'InternetCloseHandle', 'int', $ai_IO[0]) DllClose($h_DLL) Return $s_Buf EndFunc ;==>_INetGetSources Func _StringEncryptor($i_Encrypt, $s_EncryptText, $s_EncryptPassword, $i_EncryptLevel = 1) If $i_Encrypt <> 0 And $i_Encrypt <> 1 Then SetError(1) Return '' ElseIf $s_EncryptText = '' Or $s_EncryptPassword = '' Then SetError(1) Return '' Else If Number($i_EncryptLevel) <= 0 Or Int($i_EncryptLevel) <> $i_EncryptLevel Then $i_EncryptLevel = 1 Local $v_EncryptModified, $i_EncryptCountH, $i_EncryptCountG, $v_EncryptSwap, $av_EncryptBox[256][2], $i_EncryptCountA Local $i_EncryptCountB, $i_EncryptCountC, $i_EncryptCountD, $i_EncryptCountE, $v_EncryptCipher, $v_EncryptCipherBy If $i_Encrypt = 1 Then For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1 $i_EncryptCountG = '' $i_EncryptCountH = '' $v_EncryptModified = '' For $i_EncryptCountG = 1 To StringLen($s_EncryptText) If $i_EncryptCountH = StringLen($s_EncryptPassword) Then $i_EncryptCountH = 1 Else $i_EncryptCountH = $i_EncryptCountH + 1 EndIf $v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) Next $s_EncryptText = $v_EncryptModified $i_EncryptCountA = '' $i_EncryptCountB = 0 $i_EncryptCountC = '' $i_EncryptCountD = '' $i_EncryptCountE = '' $v_EncryptCipherBy = '' $v_EncryptCipher = '' $v_EncryptSwap = '' $av_EncryptBox = '' Local $av_EncryptBox[256][2] For $i_EncryptCountA = 0 To 255 $av_EncryptBox[$i_EncryptCountA][1] = Asc(StringMid($s_EncryptPassword, Mod($i_EncryptCountA, StringLen($s_EncryptPassword)) + 1, 1)) $av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA Next For $i_EncryptCountA = 0 To 255 $i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256) $v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0] $av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0] $av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap Next For $i_EncryptCountA = 1 To StringLen($s_EncryptText) $i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256) $i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256) $i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256)][0] $v_EncryptCipherBy = BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountA, 1)), $i_EncryptCountE) $v_EncryptCipher = $v_EncryptCipher & Hex($v_EncryptCipherBy, 2) Next $s_EncryptText = $v_EncryptCipher Next Else For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1 $i_EncryptCountB = 0 $i_EncryptCountC = '' $i_EncryptCountD = '' $i_EncryptCountE = '' $v_EncryptCipherBy = '' $v_EncryptCipher = '' $v_EncryptSwap = '' $av_EncryptBox = '' Local $av_EncryptBox[256][2] For $i_EncryptCountA = 0 To 255 $av_EncryptBox[$i_EncryptCountA][1] = Asc(StringMid($s_EncryptPassword, Mod($i_EncryptCountA, StringLen($s_EncryptPassword)) + 1, 1)) $av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA Next For $i_EncryptCountA = 0 To 255 $i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256) $v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0] $av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0] $av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap Next For $i_EncryptCountA = 1 To StringLen($s_EncryptText) Step 2 $i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256) $i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256) $i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256)][0] $v_EncryptCipherBy = BitXOR(Dec(StringMid($s_EncryptText, $i_EncryptCountA, 2)), $i_EncryptCountE) $v_EncryptCipher = $v_EncryptCipher & Chr($v_EncryptCipherBy) Next $s_EncryptText = $v_EncryptCipher $i_EncryptCountG = '' $i_EncryptCountH = '' $v_EncryptModified = '' For $i_EncryptCountG = 1 To StringLen($s_EncryptText) If $i_EncryptCountH = StringLen($s_EncryptPassword) Then $i_EncryptCountH = 1 Else $i_EncryptCountH = $i_EncryptCountH + 1 EndIf $v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255)) Next $s_EncryptText = $v_EncryptModified Next EndIf Return $s_EncryptText EndIf EndFunc ;==>_StringEncryptor Func _NowCalc() Return (@YEAR & "/" & @MON & "/" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC) EndFunc ;==>_NowCalc Func _DateTimeFormat($sDate, $sType) Local $asDatePart[4] Local $asTimePart[4] Local $sTempDate = "" Local $sTempTime = "" Local $sAM Local $sPM Local $iWday Local $lngX If Not _DateIsValid($sDate) Then SetError(1) Return ("") EndIf If $sType < 0 Or $sType > 5 Or Not IsInt($sType) Then SetError(2) Return ("") EndIf _DateTimeSplit($sDate, $asDatePart, $asTimePart) Switch $sType Case 0 $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x1F, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sTempDate = $lngX[3] Else $sTempDate = "M/d/yyyy" EndIf If $asTimePart[0] > 1 Then $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x1003, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sTempTime = $lngX[3] Else $sTempTime = "h:mm:ss tt" EndIf EndIf Case 1 $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x20, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sTempDate = $lngX[3] Else $sTempDate = "dddd, MMMM dd, yyyy" EndIf Case 2 $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x1F, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sTempDate = $lngX[3] Else $sTempDate = "M/d/yyyy" EndIf Case 3 If $asTimePart[0] > 1 Then $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x1003, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sTempTime = $lngX[3] Else $sTempTime = "h:mm:ss tt" EndIf EndIf Case 4 If $asTimePart[0] > 1 Then $sTempTime = "hh:mm" EndIf Case 5 If $asTimePart[0] > 1 Then $sTempTime = "hh:mm:ss" EndIf EndSwitch If $sTempDate <> "" Then $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x1D, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sTempTime = StringReplace($sTempTime, "/", $lngX[3]) EndIf $iWday = _DateToDayOfWeek($asDatePart[1], $asDatePart[2], $asDatePart[3]) $asDatePart[3] = StringRight("0" & $asDatePart[3], 2) $asDatePart[2] = StringRight("0" & $asDatePart[2], 2) $sTempDate = StringReplace($sTempDate, "d", "@") $sTempDate = StringReplace($sTempDate, "m", "#") $sTempDate = StringReplace($sTempDate, "y", "&") $sTempDate = StringReplace($sTempDate, "@@@@", _DateDayOfWeek($iWday, 0)) $sTempDate = StringReplace($sTempDate, "@@@", _DateDayOfWeek($iWday, 1)) $sTempDate = StringReplace($sTempDate, "@@", $asDatePart[3]) $sTempDate = StringReplace($sTempDate, "@", StringReplace(StringLeft($asDatePart[3], 1), "0", "") & StringRight($asDatePart[3], 1)) $sTempDate = StringReplace($sTempDate, "####", _DateMonthOfYear($asDatePart[2], 0)) $sTempDate = StringReplace($sTempDate, "###", _DateMonthOfYear($asDatePart[2], 1)) $sTempDate = StringReplace($sTempDate, "##", $asDatePart[2]) $sTempDate = StringReplace($sTempDate, "#", StringReplace(StringLeft($asDatePart[2], 1), "0", "") & StringRight($asDatePart[2], 1)) $sTempDate = StringReplace($sTempDate, "&&&&", $asDatePart[1]) $sTempDate = StringReplace($sTempDate, "&&", StringRight($asDatePart[1], 2)) EndIf If $sTempTime <> "" Then $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x28, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sAM = $lngX[3] Else $sAM = "AM" EndIf $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x29, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sPM = $lngX[3] Else $sPM = "PM" EndIf $lngX = DllCall("kernel32.dll", "long", "GetLocaleInfo", "long", 0x400, "long", 0x1E, "str", "", "long", 255) If Not @error And $lngX[0] <> 0 Then $sTempTime = StringReplace($sTempTime, ":", $lngX[3]) EndIf If StringInStr($sTempTime, "tt") Then If $asTimePart[1] < 12 Then $sTempTime = StringReplace($sTempTime, "tt", $sAM) If $asTimePart[1] = 0 Then $asTimePart[1] = 12 Else $sTempTime = StringReplace($sTempTime, "tt", $sPM) If $asTimePart[1] > 12 Then $asTimePart[1] = $asTimePart[1] - 12 EndIf EndIf $asTimePart[1] = StringRight("0" & $asTimePart[1], 2) $asTimePart[2] = StringRight("0" & $asTimePart[2], 2) $asTimePart[3] = StringRight("0" & $asTimePart[3], 2) $sTempTime = StringReplace($sTempTime, "hh", StringFormat( "%02d", $asTimePart[1])) $sTempTime = StringReplace($sTempTime, "h", StringReplace(StringLeft($asTimePart[1], 1), "0", "") & StringRight($asTimePart[1], 1)) $sTempTime = StringReplace($sTempTime, "mm", StringFormat( "%02d", $asTimePart[2])) $sTempTime = StringReplace($sTempTime, "ss", StringFormat( "%02d", $asTimePart[3])) $sTempDate = StringStripWS($sTempDate & " " & $sTempTime, 3) EndIf Return ($sTempDate) EndFunc ;==>_DateTimeFormat Func _DateDiff($sType, $sStartDate, $sEndDate) Local $asStartDatePart[4] Local $asStartTimePart[4] Local $asEndDatePart[4] Local $asEndTimePart[4] Local $iTimeDiff Local $iYearDiff Local $iMonthDiff Local $iStartTimeInSecs Local $iEndTimeInSecs Local $aDaysDiff $sType = StringLeft($sType, 1) If StringInStr("d,m,y,w,h,n,s", $sType) = 0 Or $sType = "" Then SetError(1) Return (0) EndIf If Not _DateIsValid($sStartDate) Then SetError(2) Return (0) EndIf If Not _DateIsValid($sEndDate) Then SetError(3) Return (0) EndIf _DateTimeSplit($sStartDate, $asStartDatePart, $asStartTimePart) _DateTimeSplit($sEndDate, $asEndDatePart, $asEndTimePart) $aDaysDiff = _DateToDayValue($asEndDatePart[1], $asEndDatePart[2], $asEndDatePart[3]) - _DateToDayValue($asStartDatePart[1], $asStartDatePart[2], $asStartDatePart[3]) If $asStartTimePart[0] > 1 And $asEndTimePart[0] > 1 Then $iStartTimeInSecs = $asStartTimePart[1] * 3600 + $asStartTimePart[2] * 60 + $asStartTimePart[3] $iEndTimeInSecs = $asEndTimePart[1] * 3600 + $asEndTimePart[2] * 60 + $asEndTimePart[3] $iTimeDiff = $iEndTimeInSecs - $iStartTimeInSecs If $iTimeDiff < 0 Then $aDaysDiff = $aDaysDiff - 1 $iTimeDiff = $iTimeDiff + 24 * 60 * 60 EndIf Else $iTimeDiff = 0 EndIf Select Case $sType = "d" Return ($aDaysDiff) Case $sType = "m" $iYearDiff = $asEndDatePart[1] - $asStartDatePart[1] $iMonthDiff = $asEndDatePart[2] - $asStartDatePart[2] + $iYearDiff * 12 If $asEndDatePart[3] < $asStartDatePart[3]Then $iMonthDiff = $iMonthDiff - 1 $iStartTimeInSecs = $asStartTimePart[1] * 3600 + $asStartTimePart[2] * 60 + $asStartTimePart[3] $iEndTimeInSecs = $asEndTimePart[1] * 3600 + $asEndTimePart[2] * 60 + $asEndTimePart[3] $iTimeDiff = $iEndTimeInSecs - $iStartTimeInSecs If $asEndDatePart[3] = $asStartDatePart[3]And $iTimeDiff < 0 Then $iMonthDiff = $iMonthDiff - 1 Return ($iMonthDiff) Case $sType = "y" $iYearDiff = $asEndDatePart[1] - $asStartDatePart[1] If $asEndDatePart[2] < $asStartDatePart[2]Then $iYearDiff = $iYearDiff - 1 If $asEndDatePart[2] = $asStartDatePart[2]And $asEndDatePart[3] < $asStartDatePart[3]Then $iYearDiff = $iYearDiff - 1 $iStartTimeInSecs = $asStartTimePart[1] * 3600 + $asStartTimePart[2] * 60 + $asStartTimePart[3] $iEndTimeInSecs = $asEndTimePart[1] * 3600 + $asEndTimePart[2] * 60 + $asEndTimePart[3] $iTimeDiff = $iEndTimeInSecs - $iStartTimeInSecs If $asEndDatePart[2] = $asStartDatePart[2]And $asEndDatePart[3] = $asStartDatePart[3]And $iTimeDiff < 0 Then $iYearDiff = $iYearDiff - 1 Return ($iYearDiff) Case $sType = "w" Return (Int($aDaysDiff / 7)) Case $sType = "h" Return ($aDaysDiff * 24 + Int($iTimeDiff / 3600)) Case $sType = "n" Return ($aDaysDiff * 24 * 60 + Int($iTimeDiff / 60)) Case $sType = "s" Return ($aDaysDiff * 24 * 60 * 60 + $iTimeDiff) EndSelect EndFunc ;==>_DateDiff Func _DateIsValid($sDate) Local $asDatePart[4] Local $asTimePart[4] Local $iNumDays $iNumDays = "31,28,31,30,31,30,31,31,30,31,30,31" $iNumDays = StringSplit($iNumDays, ",") _DateTimeSplit($sDate, $asDatePart, $asTimePart) If $asDatePart[0] <> 3 Then Return (0) EndIf If _DateIsLeapYear($asDatePart[1]) Then $iNumDays[2] = 29 If $asDatePart[1] < 1000 Or $asDatePart[1] > 2999 Then Return (0) If $asDatePart[2] < 1 Or $asDatePart[2] > 12 Then Return (0) If $asDatePart[3] < 1 Or $asDatePart[3] > $iNumDays[$asDatePart[2]]Then Return (0) If $asTimePart[0] < 1 Then Return (1) If $asTimePart[0] < 2 Then Return (0) If $asTimePart[1] < 0 Or $asTimePart[1] > 23 Then Return (0) If $asTimePart[2] < 0 Or $asTimePart[2] > 59 Then Return (0) If $asTimePart[3] < 0 Or $asTimePart[3] > 59 Then Return (0) Return (1) EndFunc ;==>_DateIsValid Func _DateTimeSplit($sDate, ByRef $asDatePart, ByRef $iTimePart) Local $sDateTime Local $x $sDateTime = StringSplit($sDate, " T") If $sDateTime[0] > 0 Then $asDatePart = StringSplit($sDateTime[1], "/-.") If $sDateTime[0] > 1 Then $iTimePart = StringSplit($sDateTime[2], ":") If UBound($iTimePart) < 4 Then ReDim $iTimePart[4] Else Dim $iTimePart[4] EndIf If UBound($asDatePart) < 4 Then ReDim $asDatePart[4] For $x = 1 To 3 $asDatePart[$x] = Number($asDatePart[$x]) $iTimePart[$x] = Number($iTimePart[$x]) Next Return (1) EndFunc ;==>_DateTimeSplit Func _DateToDayOfWeek($iYear, $iMonth, $iDay) Local $i_aFactor Local $i_yFactor Local $i_mFactor Local $i_dFactor If Not _DateIsValid($iYear & "/" & $iMonth & "/" & $iDay) Then SetError(1) Return ("") EndIf $i_aFactor = Int((14 - $iMonth) / 12) $i_yFactor = $iYear - $i_aFactor $i_mFactor = $iMonth + (12 * $i_aFactor) - 2 $i_dFactor = Mod($iDay + $i_yFactor + Int($i_yFactor / 4) - Int($i_yFactor / 100) + Int($i_yFactor / 400) + Int((31 * $i_mFactor) / 12), 7) return ($i_dFactor + 1) EndFunc ;==>_DateToDayOfWeek Func _DateDayOfWeek($iDayNum, $iShort = 0) Local $aDayOfWeek[8] $aDayOfWeek[1] = "Sunday" $aDayOfWeek[2] = "Monday" $aDayOfWeek[3] = "Tuesday" $aDayOfWeek[4] = "Wednesday" $aDayOfWeek[5] = "Thursday" $aDayOfWeek[6] = "Friday" $aDayOfWeek[7] = "Saturday" Select Case Not StringIsInt($iDayNum) Or Not StringIsInt($iShort) SetError(1) Return "" Case $iDayNum < 1 Or $iDayNum > 7 SetError(1) Return "" Case Else Select Case $iShort = 0 Return $aDayOfWeek[$iDayNum] Case $iShort = 1 Return StringLeft($aDayOfWeek[$iDayNum], 3) Case Else SetError(1) Return "" EndSelect EndSelect EndFunc ;==>_DateDayOfWeek Func _DateMonthOfYear($iMonthNum, $iShort) Local $aMonthOfYear[13] $aMonthOfYear[1] = "January" $aMonthOfYear[2] = "February" $aMonthOfYear[3] = "March" $aMonthOfYear[4] = "April" $aMonthOfYear[5] = "May" $aMonthOfYear[6] = "June" $aMonthOfYear[7] = "July" $aMonthOfYear[8] = "August" $aMonthOfYear[9] = "September" $aMonthOfYear[10] = "October" $aMonthOfYear[11] = "November" $aMonthOfYear[12] = "December" Select Case Not StringIsInt($iMonthNum) Or Not StringIsInt($iShort) SetError(1) Return "" Case $iMonthNum < 1 Or $iMonthNum > 12 SetError(1) Return "" Case Else Select Case $iShort = 0 Return $aMonthOfYear[$iMonthNum] Case $iShort = 1 Return StringLeft($aMonthOfYear[$iMonthNum], 3) Case Else SetError(1) Return "" EndSelect EndSelect EndFunc ;==>_DateMonthOfYear Func _DateToDayValue($iYear, $iMonth, $iDay) Local $i_aFactor Local $i_bFactor Local $i_cFactor Local $i_eFactor Local $i_fFactor Local $iJulianDate If Not _DateIsValid(StringFormat( "%04d/%02d/%02d", $iYear, $iMonth, $iDay)) Then SetError(1) Return ("") EndIf If $iMonth < 3 Then $iMonth = $iMonth + 12 $iYear = $iYear - 1 EndIf $i_aFactor = Int($iYear / 100) $i_bFactor = Int($i_aFactor / 4) $i_cFactor = 2 - $i_aFactor + $i_bFactor $i_eFactor = Int(1461 * ($iYear + 4716) / 4) $i_fFactor = Int(153 * ($iMonth + 1) / 5) $iJulianDate = $i_cFactor + $iDay + $i_eFactor + $i_fFactor - 1524.5 return ($iJulianDate) EndFunc ;==>_DateToDayValue Func _DateIsLeapYear($iYear) If StringIsInt($iYear) Then Select Case Mod($iYear, 4) = 0 And Mod($iYear, 100) <> 0 Return 1 Case Mod($iYear, 400) = 0 Return 1 Case Else Return 0 EndSelect Else SetError(1) Return 0 EndIf EndFunc ;==>_DateIsLeapYear
Valuater Posted July 11, 2009 Author Posted July 11, 2009 This was designed as an "INCLUDE" you are missing info here such as Globalized Variables.. You are not using it as described, there is nothing I can do for you 8)
Hypertrophy Posted July 11, 2009 Posted July 11, 2009 (edited) Please tell me where to go in the 10 pages you have that is the "described" way. There's so much changing you've done and code scattered all over the damn place I guess I can't do anything with this either. Edited July 11, 2009 by Hypertrophy
Valuater Posted July 11, 2009 Author Posted July 11, 2009 Please tell me where to go in the 10 pages you have that is the "described" way. There's so much changing you've done and code scattered all over the damn place I guess I can't do anything with this either.Sorry, I have to apologize!! My head has been wrapped around 10 other projectsI think the problem is hereFunc mEmailer($e_Sender, $e_Recipient, $e_CcAddress, $e_Subject, $e_Text) ; Info for this function by JdeB = http://www.autoitscript.com/forum/index.php?s=&showtopic=23860&view=findpost&p=166575 $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") $objMessage = ObjCreate("CDO.Message") With $objMessage .Subject = $e_Subject .Sender = $e_Sender .From = $e_Sender .To = $e_Recipient .Cc = $e_CcAddress .TextBody = $e_Text EndWith With $objMessage.Configuration.Fields .Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $smtpserver .Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $sendusername .Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $sendpassword .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Update EndWith $objMessage.Send If @error Then MyErrFunc() $oMyError = "" $objMessage = ""EndFunc ;==>mEmailerYou need the Server information8)
rejectpenguin Posted July 15, 2009 Posted July 15, 2009 (edited) Whenever I compile the script it and launch it it tells me "Please register as a developer" and then immediately exits. I can edit the code and bypass this to receive a developer key.. but I read in an earlier post that I should be able to use "1" as the key. Anyway after bypassing and running the script I set trial to 0 and it doesn't bring up the payment prompt.. Am I not understanding how this program works or something? Edited July 16, 2009 by rejectpenguin
S0789300 Posted October 10, 2009 Posted October 10, 2009 Can this be easily set up such that the user is prompted every month for apayment of type $X.XX or it goes back to limited/or shut-off use? This would be very beneficial if the scripter wants to reduce the cost of his software by charging a monthly fee instead of one larger payment.
Valuater Posted October 10, 2009 Author Posted October 10, 2009 (edited) With some thought and minor changes, the script could be set-up for a monthly fee. YOU need to read the code and understand it before hand.***********I noted the following for the trial = 0 scenariosIf $U_Trial = 0 And $U_Price = 0 Then Return SetError(0, 0, "Free Licensed")....If $U_Trial = 0 And $U_Price <> 0 Or ... Then $U_Payed = mRegister()The combinations are extremely important8) Edited October 10, 2009 by Valuater
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now