Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

Счетчик запусков программы   Найти похожие ветки 

 
Sphinx   (2005-01-15 22:49) [0]

Может кто посоветует, как сделать счетчик запусков программы, причем без привлечения внешних элементов (файлов, реестра).
То есть данные должны хранится и считыватся в самом ехе файле...


 
Anatoly Podgoretsky ©   (2005-01-15 23:06) [1]

ече это тоже файл, к тому же ты не сможешь в него писать из самой програмы.


 
Sphinx   (2005-01-15 23:21) [2]

> к тому же ты не сможешь в него писать из самой програмы

я именно про это и спрашиваю...что совсем ни как?
а если открыть как поток с расшариванием и прочим???


 
MR. Exx   (2005-01-16 00:10) [3]

Вот есть пример который показывает сколько уже запущено копий программы:

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-16 00:15) [4]

> MR. Exx   (16.01.05 00:10) [3]

Спасибо, может и пригодится когда, но мне нужно знать сколько программа запускалась раз...не обязательно одновременно...просто сколько раз запустилась.
При этом не хотелось бы аскать с ехе файлом какой-то файл настроек и лезть в реестр...


 
dimaxx ©   (2005-01-16 00:22) [5]

Можно сделать, но только на время сеанса работы винды. Через GlobalAddAtom записываешь параметр и присваиваешь ему значение. Потом при каждом запуске проверяешь через GetAtomName - есть ли такой атом в системе. Если есть - читаешь счетчик и проверяешь его. Если число превысило число запусков, то говоришь, мол, хватит, поработали. Если нет - увеличиваешь и записываешь снова.

Я читал об этом способе для триал-программ: можно сделать так, чтобы твоя программа запускалась только один раз в сеанс и для повторного запуска приходилось бы перезагружать систему. Это может утомить любого...


 
Vasya.ru ©   (2005-01-16 01:20) [6]

Sphinx   (15.01.05 23:21) [2]
есть извращенный способ, но ИМХО так шаровары не делаются


 
Sphinx   (2005-01-16 02:01) [7]

Да не триал это и не шаровара...
Каюсь...это шутка намечается...
Есть программка, лаба, которую я делаю одной приятельнице...
И прекрасно знаю что эту прогу потом кто-нибудь "подберет" и представит как свою (исходники преподом не просматривают, только готовый ехе). Так вот и хочу устроить подлянку любителям халявы, поэтому собственно и нужна независимость от записей в реестре и дополнительных фалов. Настроить её на 2-3 (запас на демонстрацию) запуска и всё...а потом пусть "подберают" ну запустится она у них один-два раза (должны же они посмотреть как она работает) и всё....а потом засыпать какими-нибудь AV раз счетчик исчерпан...


 
z007   (2005-01-17 00:31) [8]

1.Этого никогда не удастся добиться с файлом на CD.
2. При записи на hdd файла с дискеты и запуске с диска, на дискете остается девственно чистая копия.

Ненадежные решения:

1. При закрытии извлекаем маленький exe (из ресурса) и им пишем в наш файл все, чего надо.

2. При запуске создаем копию программы с увеличенным на 1 счетчиком запусков, при закрытии удаляем предыдущую копию.


 
Eraser ©   (2005-01-17 01:08) [9]

Sphinx   (16.01.05 02:01) [7]

Да не триал это и не шаровара...
Каюсь...это шутка намечается...

Может против этих любителей халявы и реестр сойдёт? ;-) создай неприметный ключик, где нибудь подальше с зашифрованным именем и данными и запокуй прогу ASProtect (ну или ASPack накрайняк) и бОлбшая часть недоброжелателей исчезнет, а те кто смогут крякнуть прогу.... им она на ... не нужна ;-))


 
Германн ©   (2005-01-17 02:48) [10]

2 Sphinx   (16.01.05 02:01) [7]
>Так вот и хочу устроить подлянку любителям халявы

Т.е. Sphinx хочет получить на форуме халяву, чтобы "устроить подлянку иным любителям халявы"!?


 
Германн ©   (2005-01-17 02:48) [11]

2 Sphinx   (16.01.05 02:01) [7]
>Так вот и хочу устроить подлянку любителям халявы

Т.е. Sphinx хочет получить на форуме халяву, чтобы "устроить подлянку иным любителям халявы"!?


 
BiN ©   (2005-01-17 10:59) [12]

Sphinx   (15.01.05 22:49)

Сделай активацию ч-з интернет ;)


 
Eraser ©   (2005-01-17 13:46) [13]

BiN ©
Кстати через ShareIt это можно сделать бесплатно...



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.049 c
4-1105956362
lutik_
2005-01-17 13:06
2005.02.27
Опять DLL


8-1099394743
Ms.Dunkul
2004-11-02 14:25
2005.02.27
TShockwaveFlash, проблема.


14-1106043953
ocean
2005-01-18 13:25
2005.02.27
Женщина-программист


14-1107850844
Ozone
2005-02-08 11:20
2005.02.27
Коммутатор vs Маршрутизатор


1-1108224281
TeNY
2005-02-12 19:04
2005.02.27
как правильно использовать функцию EnumResourceNames





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский