Войти

Показать полную графическую версию : [решено] Скрипт считающий кол-во запусков


Anarasius
24-11-2009, 21:30
Нужен скрипт который считал бы сколько раз его запустили и при достижении заданного числа он прекращал бы работать, но за ранее предупреждал бы (например у вас осталось 5 запусков).

kaster
24-11-2009, 22:54
Help->OnAutoItStart
Help->IniWrite либо Help->RegWrite
Help->IniRead либо Help->RegRead
Help->MsgBox

Этих команд достаточно чтобы проделать то, что ты хочешь

Creat0R
24-11-2009, 23:27
Ну ну, это не такая уж и тривиальная задача.

Вот нечто подобное: Модуль превращающий ваше приложение в Trial-версию (http://forum.ru-board.com/topic.cgi?forum=5&topic=29240&start=1600#14)

kaster
25-11-2009, 01:07
Ну ну, это не такая уж и тривиальная задача. »
ну если заморачиваться с защитой, то да - сложность конечно возрастает в разы. а если делать именно так, как указано в шапке, то просто :)

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 дней прекратил работу

Creat0R
29-11-2009, 01:02
kaster,
Подскажите пожалуйста тот же скрипт только с датой т.е »
Ну вот, началось :)...

А я же писал про это (http://forum.oszone.net/post-1279263.html#post1279263).




© OSzone.net 2001-2012