Нужно найти или разработать способ ограничения открытия файла в PowerPoint. Например, можно создать скрипт, который позволит открыть презентацию только 5 раз, после чего файл либо не будет открываться, либо будет автоматически удален. Ограничений в выборе языка программирования нет. Главный критерий - чтобы данный скрипт работал на любом компьютере. В итоге должен получиться один файл, включающий в себя скрипт и саму презентацию.
Я написал скрипт на python, но никак не могу понять как мне объединить его с презентацией пробовал через
auto-py-to-exe но там возникали проблемы с открытием.
Код python:
import os
import tempfile
# Путь к файлу презентации PowerPoint
presentation_path = '12345.pptx'
# Максимальное количество раз, когда файл может быть открыт
max_open_count = 5
# Файл для отслеживания количества открытий
temp_folder = os.path.join(tempfile.gettempdir(), ".pptx_limit_temp")
if not os.path.exists(temp_folder):
os.mkdir(temp_folder)
# Проверяем, существует ли файл презентации
if not os.path.exists(presentation_path):
print("Файл презентации не найден.")
else:
# Проверяем, существует ли файл счетчика, если нет, то создаем его
if not os.path.exists(counter_file):
with open(counter_file, 'w') as f:
f.write('0')
# Читаем текущее значение счетчика
with open(counter_file, 'r') as f:
count = int(f.read())
# Если счетчик меньше максимального значения, то открываем файл презентации
if count < max_open_count:
os.startfile(presentation_path)
count += 1
with open(counter_file, 'w') as f:
f.write(str(count))
else:
# Если счетчик достиг максимального значения, то выполняем требуемое действие, например, удаляем файл
os.remove(presentation_path)
os.remove(counter_file)
print("Файл презентации удален.")
Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </> Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
Что мешает пользователю скопировать открытую презентацию?
Кроме того, тащить многомегабайтный интепретатор питона вместе с презентацией? За такое надо бить по рукам.
До кучи, у тебя один счётчик на все презентации.
Короче, хотелось бы узнать сакральный смысл этого всего.
Vindicar, Конечные пользователи презентаций не самые добросовестные люди и могут использовать ее в коммерческих целях, что нежелательно. Я пытался решить эту проблему с помощью VBA, но проблемы с безопасностью не позволили мне это сделать.
Автор презентаций попросил найти способ ограничить количество открытий презентаций, например, до 5 раз, после чего она либо бы не открывалась, либо удалялась.
LetMeDieYung, ну проблема остаётся. Скопировать презентацию из Power Point, или даже сделать скриншот твой код не помешает примерно никак. Удаление тоже будет непростой штукой, потому что удалить собственный экзешник так просто нельзя. Хотя есть обходные манёвры.
Vindicar, Лучшим решением, я так думаю, в данной ситуации будет забить на это, так как слишком много подводных камней всплывает ради одной презентации.
Не получится.
Всегда будет много простых возможностей умыкнуть контент презентации так или иначе.
Приделывая сбоку скрипт на любом языке - это то же самое, что "молдавский вирус", который просит пользователя удалить все файлы на компьютере самостоятельно.
Объясните своему заказчику, что если его благополучие и бизнес зависят от того, насколько быстро распиратится информация, которую он продает в своей презентации, то его песенка спета. Пусть придумывает другой способ монетизации.
Огромное количество курсов и практикумов вынуждены тратить немасштабируемые человеческие ресурсы на живые лекции и трансляции, чтобы снизить скорость утечки материалов и понизить стоимость утёкших материалов без пояснений и инетрактива со стороны препода\лектора\организаторов.
Если кому-то бдет полезен контент вашей презентации, то он будет похищен мгновенно, а все ваши кустарные способы их защитить будут практически бесполезны и дороги. Вполне вероятно. что они окажутся многократно дороже в реализации, чем защиаемый контент. Это ы ничего с учетом возможного фактора масштабирования, но ввиду практически полной бесполезности такой защиты...