API общего доступа к папкам в Windows 7 - PullRequest
2 голосов
/ 10 февраля 2010

Интересно, возможно ли программно обмениваться папками в Windows 7 при работе в ограниченном сеансе входа в систему:

1) NetShareAdd возвращает ERROR_ACCESS_DENIED. 2) Командная строка net share говорит то же самое. 3) Но у проводника нет проблем с созданием новых общих ресурсов без вызова UAC. Как это сделать?

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 25 марта 2010

UAC в Windows 7 менее строг, чем в Vista. Windows 7 рассматривает Проводник как доверенное приложение, поэтому он будет создавать ресурс без уведомления UAC (вы можете изменить это в Панели управления).

Ваше приложение не является доверенным (ОК, вы доверяете ему, но операционная система - нет). Возможно, вы также явно не требуете прав администратора в вашем приложении. В этом случае Windows 7 рассматривает вашу программу как непривилегированную и отказывает в доступе, поэтому сообщение об ошибке.

Решением может быть добавление в вашу программу манифеста, запрашивающего ExecutingLevel of requireAdministratior. См., Например, Требование повышения UAC для приложения путем добавления манифеста . Но тогда ваше целое приложение запускается от имени администратора. Есть еще несколько гранулированных решений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...