Здесь есть два варианта.
Изменение исходного кода
Возможно изменение исходного кода. Все, что вам нужно сделать, это убедиться, что программе требуется параметр. Если его нет, ничего не происходит. Пользователь дважды щелкнет исполняемый файл, который не передает параметр. Вы даже можете сделать всплывающее окно с сообщением: эта программа должна быть запланирована или что-то в этом роде.
Это можно сделать с помощью GetCommandlineArgs .
Недостатком этого является то, что если по какой-то причине кто-то забудет секретный аргумент командной строки, то в какой-то момент люди могут прекратить его использовать (например, если вы покидаете компанию, ИТ-служба выполняется другой компанией и т. Д.)
Установка определенных прав доступа к файлу .exe
Другой вариант - просто установить разрешения для файла .exe. Вы можете сделать так, чтобы только администраторы могли открыть файл или запретить все остальное. Запрет имеет приоритет над разрешениями разрешений, поэтому возможно, что вы также отказываете в доступе администратора. Кроме того, пользователь с достаточными знаниями и правами может отменить это, а затем запустить исполняемый файл. Кроме того, если они копируют исполняемый файл локально, они могут удалить права и затем запустить программу.