Ответы на все вопросы

FAQ / Программирование / Delphi

Хочу, чтобы программа, искала на всех возможных логических дисках свою копию.

Вопрос:

    Мне нужна такая помощь. хочу, чтобы программа, искала на всех возможных логических дисках свою копию и если находила, то удаляла бы их и удалялась сама. Например, по истечению некоторого ограничения программа искала свои копии и удалялась вместе с ними.
    P.S. Кстати, об ограничениях. Как лучше организовать демо-версию программы? Куда лучше записывать счётчик-ограничитель и в каком виде? Желательно, чтобы при обнаружении некого скрытого ключа (в реестре, в файле) программа бы удалялась. Надеюсь я Вас не запутал...: )
    P.P.S. И ещё про ограничения. Можно ли как-нибудь в программе, например после того как счётчик покажет определённое значение удалилось строковое значение, но так, чтобы удалилось из кода программы и больше в ней не появлялось...
    

Ответ:

    1. Бегаешь по дискам (GetLogicalDrives) по всем каталогам (FindFirstFile, FindNextFile, FindClose) и ищешь файл <имя_твоего_exeшника.exe>. Если находишь, проверяешь, твой ли это, и т.д.
    2. Лучше компилировать демоверсию отдельно от полной, то есть физически не включать некоторые функции (например, сохранения документа), а вместо них писать, что они доступны только в полной версии. А всякие счётчики, как правило, пишутся в реестр в мусорные имена, но всегда обходятся и ломаются.
    Программно определить факт обнаружения ключа практически нереально. Соответственно, если я копию вашей программы буду хранить в архиве (а так у меня хранятся все инсталляшки), то она никогда не сможет удалить свою заархивированную копию.
    3. Теоретически возможно, но практически труднореализовываемо. Намного удобнее 2.
    Novikov Dmitry
    

Версия для печати Найти похожие статьи
Поиск по сайту

Архив

ВсПнВтСрЧтПтСб
1234567
891011121314
15161718192021
22232425262728
293012345
6789101112
13141516171819
20212223242526
272829303112



Мы рекомендуем