В Windows не існує вбудованого підтримуваного способу блокування певних процесів у доступі до певних накопичувачів, що відповідає "сучасному характеру" того, як операційна система обробляє доступ до дисків.
Право доступу визначається зареєстрованими правами користувача, який запускає програму. Тож якщо розробник програмного забезпечення вирішив, що його програмне забезпечення має шукати всі доступні диски і не дає вам можливості вимкнути це ... ну, це неправильне програмування, яке не враховує ваш конкретний випадок використання. Але є кілька обхідних шляхів.
Єдине "впевнене" рішення - 2, оскільки апаратний віртуалізаційний шар (від віртуальної машини) може блокувати будь-які програми для спроби отримати доступ до "реального обладнання" повністю. Хоча у мене не було випадку, коли рішення 1 не працює, але теоретично я думаю, що це можна було б обійти.
Варіант "1" - відключення накопичувачів на "низькому рівні" - додаткове програмне забезпечення не потрібно
Варіант 1а
Можна відключити томи на нижньому шарі, відключивши диски взагалі, але це вимкне всі об'єми на диску. Вручну ви можете це зробити, запустивши diskmgmt.msc, а потім клацніть правою кнопкою миші на накопичувачі і позначте його "офлайн".

Якщо потрібно, ви можете це зробити і за допомогою сценарію командного рядка. Він буде застосований аналогічно, як варіант 3a / b. Це можна зробити, наприклад, через cmd, як описано тут, або через PowerShell, як це описано тут .
Варіант 1б
Ви можете повністю відключити драйвер диска. Щоб зробити це вручну: запустіть diskmgmt.msc, потім клацніть правою кнопкою миші, виберіть "параметри". Потім перейдіть до «Драйвер» -Таб і виберіть «Деактивувати». Диск "зникне" в диспетчері дисків і більше не буде доступний через операційну систему. Якщо програмне забезпечення не виконує команди машинного коду для прямого зв'язку з обладнанням, програма не має можливості отримати доступ до накопичувачів. Принаймні, що стосується моїх знань про входи та виходи операційних систем.

Якщо потрібно, ви можете це зробити і за допомогою сценарію командного рядка. Це буде застосовуватися аналогічно тому , як Варіант 3a / б з використанням, наприклад, Devcon.exe. Детальний опис ви можете знайти тут .
Варіант 2 - Використання віртуального середовища (в основному з стороннім програмним забезпеченням)
Якщо запуск програми у віртуальному середовищі взагалі є варіантом, існує багато рішень:
Залежно від версії Windows (потрібна Win7 і новіша версія) та ліцензії (потрібна "Професійна", "Домашня сторінка" не буде робити), ви можете просто використовувати Hyper-V для створення віртуального середовища без будь-якого програмного забезпечення сторонніх виробників.
Ви можете використовувати програмне забезпечення сторонніх виробників для налаштування віртуальної системи, наприклад VMplayer, Virtual Box тощо. Існує багато альтернативних і безкоштовних альтернативних програм. Використовуючи це рішення, вам знадобиться друга ліцензія на Windows (або ви залишите її без ліцензії, але тоді ви отримаєте накладку в правому нижньому куті екрана, яка підкаже вам зареєструвати Windows). Це, безумовно, не дозволить програмному забезпеченню отримати доступ до накопичувача.
ви можете використовувати додаток "пісочниці". Але це буде залежати від рівня віртуалізації, який пропонує пісочниця-додаток. У деяких випадках це може вирішити проблему; в інших випадках це не так. Наприклад, Sandboxie (той, який описує harrymc у своїй відповіді ), не вирішує проблеми з конфігурацією harrymc, описаною в його (оригінальній) відповіді. Хоча програмне забезпечення може заблокувати доступ, накопичувач все одно вийде на хребет. Альтернативою може бути використання іншої програми для пісочниці, наприклад, Cameyo тощо.
До речі, ось хороша стаття про головну відмінність різних програм для віртуалізації, особливо про різницю між "цілою" віртуальною машиною (на зразок Virtual Box) або "напіввіртуальними" програмами (як Sandboxie).
Варіант 3 - Демонтація лише обсягів (залишаючи диск "недоторканим") - Ніякого додаткового програмного забезпечення не потрібно, Але він може не працювати у вашому випадку
Варіант 3а
Замість того, щоб запускати програму за допомогою її звичайного ярлика, ви можете написати пакетний файл за допомогою команди, mountvolяка спочатку вимикає невикористаний том, потім запускає програму, а потім знову встановлює гучність, коли програма більше не отримує доступ до накопичувача. Процес монтажу / демонтажу за допомогою командного рядка описаний тут і тут . Ви також можете використовувати, diskpartяк описано тут і тут .
Варіант 3b
Крім того, ви можете просто залишити привід відключеним загалом і змонтувати його за допомогою пакетного файлу, який монтує диск, який ви запускаєте вручну, коли це необхідно. Після того, як ви закінчите його використання, його можна вручну відключити за допомогою другого пакетного файлу. Ви можете це автоматизувати, відстежуючи запити доступу до файлової системи та монтуючи / відключаючи накопичувач відповідно до певних правил, наприклад, що певні програми не матимуть доступу. Але я не впевнений, що автоматизація вартує додаткових зусиль.
Варіант 4 - Обмеження доступу до літери диска (гучності). Зробити це просто, але потрібні два невеликих інструменти від Microsoft - Але це може не працювати у вашому випадку
Якщо ви хочете зробити це без програмного забезпечення сторонніх виробників, але не заперечуйте використовувати два невеликих інструменти від Microsoft (якщо ви вже не використовуєте це). Я вважаю за краще це рішення, оскільки воно отримує проблему "під корінь" (розмежування прав користувача та програми), і це досить просто, і "велике" стороннє програмне забезпечення не потрібно.
В основному ви додаєте користувача без доступу до накопичувача, а потім запускаєте програму з тими обмеженими правами (ви все одно будете входити як звичайний користувач, ви не будете використовувати обліковий запис з обмеженими можливостями для входу).
Додати обліковий запис користувача.
Обмежте доступ нового дискового облікового запису до диска, використовуючи Windows Access Control для файлової системи. Ось хороший Як включити скріншоти.
Потім запустіть програмне забезпечення з цими правами. Можна, наприклад, використовувати PsExec.exe , щоб зробити це або Process Explorer, ось як . Одне з цих двох вам доведеться завантажити з веб-сайту Microsoft, якщо у вас їх ще немає.