What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

C++ Отказано в доступе при написании в файл

sect adept

Midle Weight
Депозит
$0
Приветствую. Столкнулся с проблемой, что с помощью WinApi пытаюсь открыть файл на чтение и запись, чтобы прочитать эти данные и записать в файл. Проблема заключается в том, что если директория находится в Program Files, то GetLastError() дает значение 5 при попытке открыть файл и записать, собственно, отказано в доступе. Запускаюсь от имени админа, даже от системы пробовал, но все четно. Как можно фиксануть это через код или никак не пофиксить эту проблему через код, а только вручную назначать файлам привеилегии?
 
Для прог файлес для записи админ права нужны помоему
 
sect adept сказал(а):
Как можно фиксануть это через код или никак не пофиксить эту проблему через код, а только вручную назначать файлам привеилегии?
MoilerRenoiler сказал(а):
Для прог файлес для записи админ права нужны помоему
sect adept сказал(а):
Запускаюсь от имени админа

Отключить UAC, может быть. Альтернативно ты можешь использовать IFileOperation, он вывалит пользователю окошко, которое он (может быть) прокликает.
 
DildoFagins сказал(а):
Отключить UAC, может быть. Альтернативно ты можешь использовать IFileOperation, он вывалит пользователю окошко, которое он (может быть) прокликает.

Не заметил + код он не дал.
 
MoilerRenoiler сказал(а):
Не заметил + код он не дал.
DildoFagins сказал(а):
Отключить UAC, может быть. Альтернативно ты можешь использовать IFileOperation, он вывалит пользователю окошко, которое он (может быть) прокликает.
MoilerRenoiler сказал(а):
Для прог файлес для записи админ права нужны помоему
Да, сори за код, так как на другой системе находится (не рабочей). Да просто дефолтно использую CreateFileW по документации майкрософта с флагами для чтения и записи одновременно



Не думал на счет UAC. Окошко не надо пользователю видеть)) Нужно чтобы в автономном режиме все по себе работало. Правильно я понимаю, что есть механизмы, которые байпасят UAC через код и какие условия для этого нужны, только админ права?
Причем и с помощью моей проги не меняется файл и вручную тоже пробовал изменить этот файл и сохранить - вылазит окошко с ошибкой, что отказано в доступе(


от имени системы даже запускаюсь, но все четно...(
 
sect adept сказал(а):
от имени системы даже запускаюсь, но все четно...(

Эт сделай циклическую проверку. И типа if(pFile) и тд и в цикле while пробуй.

Или попробуй CreateFileA потому что с wstr проблем дохуище.
 
sect adept сказал(а):
от имени системы даже запускаюсь, но все четно...(

CreateFileA(name, GENERIC_ALL,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); параметры такие? Или еще |запись
 
MoilerRenoiler сказал(а):
CreateFileA(name, GENERIC_ALL,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); параметры такие? Или еще |запись

GENERIC_READ | GENERIC_WRITE юзаю, а в целом все так же
 
MoilerRenoiler сказал(а):
Эт сделай циклическую проверку. И типа if(pFile) и тд и в цикле while пробуй.

Или попробуй CreateFileA потому что с wstr проблем дохуище.

wstr юзаю, потому что могут попасться широкие символы
 
MoilerRenoiler сказал(а):
Эт сделай циклическую проверку. И типа if(pFile) и тд и в цикле while пробуй.
MoilerRenoiler сказал(а):
Или еще |запись
sect adept сказал(а):
Правильно я понимаю, что есть механизмы, которые байпасят UAC через код и какие условия для этого нужны, только админ права?




GENERIC_ALL включает в себя и GENERIC_READ и GENERIC_WRITE, на то он и ALL.


Ну для начала для тестов ты можешь просто у себя UAC выключить и проверить, будет ли ошибка или нет. Если сработает, то посмотри какой-нибудь обход UAC'а.
 
DildoFagins сказал(а):
GENERIC_ALL включает в себя и GENERIC_READ и GENERIC_WRITE, на то он и ALL.


Ну для начала для тестов ты можешь просто у себя UAC выключить и проверить, будет ли ошибка или нет. Если сработает, то посмотри какой-нибудь обход UAC'а.
У меня не выскакивал UAC при запуске
 
sect adept сказал(а):
У меня не выскакивал UAC при запуске

Он и не должен был выскакивать, если его не запрашивали.
 
DildoFagins сказал(а):
Он и не должен был выскакивать, если его не запрашивали.

окей, чекну настройки и отпишу через время результат. Если он будет, то придется обходить?
 
MoilerRenoiler сказал(а):
Или попробуй CreateFileA потому что с wstr проблем дохуище.

Каких проблем?! Юникод это стандарт в винде уже лет 25 как.
Как ты криптуешь с такими-то познаниями?
 
Quake3 сказал(а):
Каких проблем?! Юникод это стандарт в винде уже лет 25 как.
Как ты криптуешь с такими-то познаниями?

хд, стандартный string,char тоже прекрасно работает, и проблем не возникало.
Компилер умеет оптимизировать и такое, поэтому wstr юзал онли для получения хэндлов(там сама функция с wstr), поитогу ее преобразовываю в str потому что так удобней и вообще в wstr не вижу надобности, особенно когда есть функции в api с str.

Принципиально он не удобен мне. Мне лень дописывать L перед каждой почти функцией, когда я могу написать строку и зашифровать ее макросом.

Так что здесь не вижу смысла в wstr. Покажи пример мне где wstr нужен и char проёбывается.
 
MoilerRenoiler сказал(а):
хд, стандартный string,char тоже прекрасно работает, и проблем не возникало.
Компилер умеет оптимизировать и такое, поэтому wstr юзал онли для получения хэндлов(там сама функция с wstr), поитогу ее преобразовываю в str потому что так удобней и вообще в wstr не вижу надобности, особенно когда есть функции в api с str.

Принципиально он не удобен мне. Мне лень дописывать L перед каждой почти функцией, когда я могу написать строку и зашифровать ее макросом.

Так что здесь не вижу смысла в wstr. Покажи пример мне где wstr нужен и char проёбывается

Блет, давно я настолько удивительно неправильных вещей не читал, вроде хотел что-то сказать по этому поводу, но как представил, сколько текста мне понадобиться, чтобы все ошибочные мнения тут развеять, что передумал...
 
DildoFagins сказал(а):
Блет, давно я настолько удивительно неправильных вещей не читал, вроде хотел что-то сказать по этому поводу, но как представил, сколько текста мне понадобиться, чтобы все ошибочные мнения тут развеять, что передумал...

В пм отпиши. Помоему wstr для мультиланга онли, для англ симоволов не нужен он, у меня аська). Я да тупой в некотором плане, стараюсь не лезть туда где меня нет.

Скрытый контент для пользователей: DildoFagins.
 
Top