![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Счетчик запусков программы [D7, WinXP]
Sphinx © (2005-01-15 22:49:00)Может кто посоветует, как сделать счетчик запусков программы, причем без привлечения внешних элементов (файлов, реестра).
То есть данные должны хранится и считыватся в самом ехе файле...
Eraser (2005-01-17 13:46:00) [1]BiN ©
Кстати через ShareIt это можно сделать бесплатно...
BiN (2005-01-17 10:59:00) [2]Sphinx (15.01.05 22:49)
Сделай активацию ч-з интернет ;)
Германн (2005-01-17 02:48:00) [3]2 Sphinx (16.01.05 02:01) [7]
>Так вот и хочу устроить подлянку любителям халявы
Т.е. Sphinx хочет получить на форуме халяву, чтобы "устроить подлянку иным любителям халявы"!?
Германн (2005-01-17 02:48:00) [4]2 Sphinx (16.01.05 02:01) [7]
>Так вот и хочу устроить подлянку любителям халявы
Т.е. Sphinx хочет получить на форуме халяву, чтобы "устроить подлянку иным любителям халявы"!?
Eraser (2005-01-17 01:08:00) [5]Sphinx (16.01.05 02:01) [7]
Да не триал это и не шаровара...
Каюсь...это шутка намечается...
Может против этих любителей халявы и реестр сойдёт? ;-) создай неприметный ключик, где нибудь подальше с зашифрованным именем и данными и запокуй прогу ASProtect (ну или ASPack накрайняк) и бОлбшая часть недоброжелателей исчезнет, а те кто смогут крякнуть прогу.... им она на ... не нужна ;-))
z007 (2005-01-17 00:31:00) [6]1.Этого никогда не удастся добиться с файлом на CD.
2. При записи на hdd файла с дискеты и запуске с диска, на дискете остается девственно чистая копия.
Ненадежные решения:
1. При закрытии извлекаем маленький exe (из ресурса) и им пишем в наш файл все, чего надо.
2. При запуске создаем копию программы с увеличенным на 1 счетчиком запусков, при закрытии удаляем предыдущую копию.
Sphinx (2005-01-16 02:01:00) [7]Да не триал это и не шаровара...
Каюсь...это шутка намечается...
Есть программка, лаба, которую я делаю одной приятельнице...
И прекрасно знаю что эту прогу потом кто-нибудь "подберет" и представит как свою (исходники преподом не просматривают, только готовый ехе). Так вот и хочу устроить подлянку любителям халявы, поэтому собственно и нужна независимость от записей в реестре и дополнительных фалов. Настроить её на 2-3 (запас на демонстрацию) запуска и всё...а потом пусть "подберают" ну запустится она у них один-два раза (должны же они посмотреть как она работает) и всё....а потом засыпать какими-нибудь AV раз счетчик исчерпан...
Vasya.ru (2005-01-16 01:20:00) [8]Sphinx (15.01.05 23:21) [2]
есть извращенный способ, но ИМХО так шаровары не делаются
dimaxx (2005-01-16 00:22:00) [9]Можно сделать, но только на время сеанса работы винды. Через GlobalAddAtom записываешь параметр и присваиваешь ему значение. Потом при каждом запуске проверяешь через GetAtomName - есть ли такой атом в системе. Если есть - читаешь счетчик и проверяешь его. Если число превысило число запусков, то говоришь, мол, хватит, поработали. Если нет - увеличиваешь и записываешь снова.
Я читал об этом способе для триал-программ: можно сделать так, чтобы твоя программа запускалась только один раз в сеанс и для повторного запуска приходилось бы перезагружать систему. Это может утомить любого...
Sphinx (2005-01-16 00:15:00) [10]> MR. Exx (16.01.05 00:10) [3]
Спасибо, может и пригодится когда, но мне нужно знать сколько программа запускалась раз...не обязательно одновременно...просто сколько раз запустилась.
При этом не хотелось бы аскать с ехе файлом какой-то файл настроек и лезть в реестр...
MR. Exx (2005-01-16 00:10:00) [11]Вот есть пример который показывает сколько уже запущено копий программы:
program Schet;
uses SysUtils, WinTypes, WinProcs, WinCrt;
var
NumInstances, SavePrevInst : word;
procedure GetInstanceData(hInst,Offset,Size:Word); far; external 'KERNEL';
begin
SavePrevInst := hPrevInst;
NumInstances := 0;
While hPrevInst <> 0 do
begin
GetInstanceData(hPrevInst,Ofs(hPrevInst),SizeOf(hPrevInst));
Inc(NumInstances);
end;
Writeln('Уже ',NumInstances,' программ ');
hPrevInst := SavePrevInst;
end.
Sphinx (2005-01-15 23:21:00) [12]> к тому же ты не сможешь в него писать из самой програмы
я именно про это и спрашиваю...что совсем ни как?
а если открыть как поток с расшариванием и прочим???
Anatoly Podgoretsky (2005-01-15 23:06:00) [13]ече это тоже файл, к тому же ты не сможешь в него писать из самой програмы.