Если диск C: недоступен для записи, при переключении режима "Запущена SELTA/Остановлена" выдаются разные ошибки. В идеале желательно вообще сделать чтобы кнопка была заблокирована в этом случае. Он возникает например при запуске граф. утилиты под одним из пользователей в административной установке.
"Он возникает например при запуске граф. утилиты под одним из пользователей в административной установке." Он это кто? )) Я так понимаю проблемма пока только в том, что если пользователь не админ - надо кнопку заблочить?
Он - это ошибка :) Вопрос в том, как проверить, пользователь админ или нет. Как минимум это можно определить по возможности записи в windows/system32 Вообще не админ не должен иметь права записи в системную часть реестра (ошибка при открытии ветки реестра на запись), но не уверен что у нас это правильно отработает. Можно сделать для Windows, проверить у нас и повесить багу.
Работа с графической утилитой Selta изначально подразумевает, что пользователь - администратор. Все великое множество MessageBox'ов с разнообразными ошибками сделано скорее как подсказка админу, что в системе что-то СОВСЕМ не в порядке. В противном случае никаких ошибок быть не должно, ибо ничего сверх хитроумного не выполняется. Сплошные стандартные функции доступа, чтения, записи... Считаю целесообразным в таком случае сделать следующее: провести при запуске графической утилиты ряд простых тестов, на подобии попытки записи в нужные ветки реестра, системные папки и т.д., и если что-то не так - выдавать сообщение, что для корректной работы не хватает таких-то прав, свернуть программу и "адиос", чтобы не админ вообще ничего сломать не мог. Что решаем в итоге?
Я думаю нужно проверять, имеем мы админские права или нет, и если не имеем, не давать ничего делать, вплоть до блокирования кнопок. В этом случае Selta.exe может быть использована только для проверки подлинности. Пункты меню и кнопки заблокировать достаточно просто. Зачем создавать видимость, что пользователь что-то может, хотя на само мделе не может, и выдавать косвенные сообщения об ошибках...
Сделана проверка на администратора на основании вызовов функций работы с реестровой веткой HKEY_LOCAL_MACHINE. В Винде работает корректно. В Вайне это пока не реализовано.