Доброго времени суток. Суть вопроса такова:
В программе с помощью функции WinAPI
открываю файл
HRESULT ReadFile(LPCWSTR name)
{
HRESULT hr = S_OK;
DWORD Error = 0;
HANDLE OResult= 0;
// Open file
OResult = CreateFile(name, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (OResult == INVALID_HANDLE_VALUE)
{
Error = GetLastError();
}
return hr;
}
И все вроде-бы хорошо - при запуске программы из проводника файл открывается, читается, но когда моя программа запускается через автозапуск (прописана в "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
) то GetLastError()
возвращает код ошибки 5 (ERROR_ACCESS_DENIED)
.
Сейчас изучаю Access Control Model
но пока безрезультатно.
Может кто сталкивался или знает подскажите, пожалуйста, в чем причина, куда копать?
ps: файл для открытия создан той же программой до перезагрузки, лежит в папке с экзешником. Другим процессом не открыт (вроде бы.. хотя как проверить?).
@Владимир Мартьянов: Если файла нет, возвращает ту-же ошибку.
Решено: отключением UAC
в манифесте проекта. Иначе запуск программы из ветки HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
происходит с ограничеными правами.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, почему я могу считывать данные с файла, но значения переменных dblx, dblResult не записываются в файлНе могу найти ошибку
В общем есть такой код перегрузки оператора в классе нужно что бы оператор при присваивании менял значение поля материалКод вроде верно...
На википедии LU разложение определено как разложение всякой матрицы в произведение двух квадратных матрицНо как тогда сделать LU разложение...