Показать полную графическую версию : [решено] Скрипт считающий кол-во запусков
Anarasius
24-11-2009, 21:30
Нужен скрипт который считал бы сколько раз его запустили и при достижении заданного числа он прекращал бы работать, но за ранее предупреждал бы (например у вас осталось 5 запусков).
Help->OnAutoItStart
Help->IniWrite либо Help->RegWrite
Help->IniRead либо Help->RegRead
Help->MsgBox
Этих команд достаточно чтобы проделать то, что ты хочешь
Ну ну, это не такая уж и тривиальная задача.
Вот нечто подобное: Модуль превращающий ваше приложение в Trial-версию (http://forum.ru-board.com/topic.cgi?forum=5&topic=29240&start=1600#14)
Ну ну, это не такая уж и тривиальная задача. »
ну если заморачиваться с защитой, то да - сложность конечно возрастает в разы. а если делать именно так, как указано в шапке, то просто :)
Anarasius
25-11-2009, 17:03
Set Count=0
If Exist "count.txt" (
For /F %%A In ('Type "count.txt"') Do Set /A Count=%%A+1
)
If "%Count%"=="20" (
Echo Count limit
GoTo R
:R
EXIT
)
Echo %Count% >"count.txt"
Это скрипт для CMD как в autoit это сделать я не знаю, нужна ваша помощь
FlatX007
27-11-2009, 17:36
Всё просто :
#include <file.au3>
Global $sIniFileName = @ScriptDir & "\trial.ini"
;~ IniWrite($sIniFileName, "Run", "#", 5); Записываем в INI файл колличество отпущеных запусков
If Not FileExists($sIniFileName) Then _FileCreate ($sIniFileName)
$sReadData = IniRead($sIniFileName, "Run", "#", 0)
Switch $sReadData
Case 0
MsgBox(16,"","Вы исчерпали колличесво запусков!")
Exit
Case 1 To 5
MsgBox(64,"","У вас осталось - " & $sReadData - 1 & " запусков")
IniWrite($sIniFileName, "Run", "#", $sReadData - 1)
EndSwitch
Anarasius
28-11-2009, 01:19
#include <file.au3>
Global $sIniFileName = @ScriptDir & "\trial.ini"
IniWrite($sIniFileName, "Run", "#", 5)
If Not FileExists($sIniFileName) Then _FileCreate ($sIniFileName) $sReadData = IniRead($sIniFileName, "Run", "#", 0) Switch $sReadData Case 0 MsgBox(16,"","Вы исчерпали колличесво запусков!") Exit Case 1 To 5 MsgBox(64,"","У вас осталось - " & $sReadData - 1 & " запусков") IniWrite($sIniFileName, "Run", "#", $sReadData - 1) EndSwitch компилирую и он постоянно пишет что осталось 4 запуска (не уменьшает число).
FlatX007
28-11-2009, 06:20
конечно не уменьшает :), убери строчку IniWrite($sIniFileName, "Run", "#", 5) (при каждом запуске в INI записывается значение 5 [т.е. осталось 4 запуска]).
Да я это нетак написал - запутал.
1 скрипт(по сути запускается один раз - создаёт "триальный" INI файл с числом запусков):
Global $sIniFileName = @ScriptDir & "\trial.ini"
IniWrite($sIniFileName, "Run", "#", 5); Записываем в INI файл колличество отпущеных запусков
2 скрипт(сама программа ...):
Global $sIniFileName = @ScriptDir & "\trial.ini"
$sReadData = IniRead($sIniFileName, "Run", "#", 0)
Switch $sReadData
Case 0
MsgBox(16,"","Вы исчерпали колличесво запусков!")
Exit
Case 1 To 5
MsgBox(64,"","У вас осталось - " & $sReadData - 1 & " запусков")
IniWrite($sIniFileName, "Run", "#", $sReadData - 1)
EndSwitch
Anarasius
29-11-2009, 00:09
Подскажите пожалуйста тот же скрипт только с датой т.е. что бы скрипт через 10 дней прекратил работу
kaster,
Подскажите пожалуйста тот же скрипт только с датой т.е »
Ну вот, началось :)...
А я же писал про это (http://forum.oszone.net/post-1279263.html#post1279263).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.